AttributeError: модуль 'django.db.models' не имеет атрибута 'ManyToMany'
Я пытаюсь сделать один из объектов моей модели полем ManyToMany, чтобы я мог получить доступ к объектам через обе модели.
Я получаю следующую ошибку.
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], поэтому оно включает …Field в ManyToManyField:
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)
Note: It is normally better to make use of the
settings.AUTH_USER_MODEL[Django-doc] to refer to the user model, than to use theUsermodel [Django-doc] directly. For more information you can see the referencing theUsermodel section of the documentation.
Note: The
related_name=…parameter [Django-doc] is the name of the relation in reverse, so from theListingsmodel to theWatchlistmodel in this case. Therefore it (often) makes not much sense to name it the same as the forward relation. You thus might want to consider renaming therelation tolistingwatchlists.
Примечание: обычно модели Django дается сингулярное имя, поэтому
listingвместо.listings