![](/img/trans.png)
[英]AttributeError: module 'django.db.models' has no attribute 'Models'
[英]AttributeError: module 'django.db.models' has no attribute 'ManyToMany'
我正在嘗試使我的model
對象之一成為ManyToMany
字段,因此我可以通過這兩個模型訪問對象。
我收到以下error
。
listing = models.ManyToMany(Listings, blank=True, related_name="listing")
AttributeError: module 'django.db.models' has no attribute 'ManyToMany'
models.py
:
class WatchList(models.Model):
listing = models.ManyToMany(Listings, blank=True, related_name="listing")
user = models.ForeignKey(User, on_delete=models.CASCADE, default="")
該字段的名稱是ManyToManyField
[Django-doc] ,因此這包括ManyToMany Field
中的…Field
Field :
from django.conf import settings
class WatchList(models.Model):
listing = models.ManyToManyField(Listings, blank=True, related_name='watchlists')
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
注意:通常最好使用
settings.AUTH_USER_MODEL
[Django-doc]來引用用戶模型,而不是直接使用User
模型[Django-doc] 。 有關更多信息,您可以查看參考文檔的User
模型部分。
注意:
related_name=…
參數[Django-doc]是反向關系的名稱,因此在這種情況下從Listings
模型到Watchlist
模型。 因此,將其命名為與前向關系相同的名稱(通常)沒有多大意義。 因此,您可能需要考慮將關系重命名為listing
watchlists
。
注意:通常 Django 模型被賦予一個單數名稱,因此使用
listing
而不是。listings
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.