簡體   English   中英

AttributeError:模塊“django.db.models”沒有屬性“ManyToMany”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM