У меня есть следующее в моем models.py
class items(models.Model):
name = models.CharField(max_length=255)
item_image = models.ImageField(upload_to='itemimage/', default=None, blank=True)
price = models.DecimalField(decimal_places=2, max_digits=100)
class comparelist(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
item1 = models.ForeignKey(items, on_delete=models.CASCADE, null=True, blank=True)
item2 = models.ForeignKey(items, on_delete=models.CASCADE, null=True, blank=True)
item3 = models.ForeignKey(items, on_delete=models.CASCADE, null=True, blank=True)
item4 = models.ForeignKey(items, on_delete=models.CASCADE, null=True, blank=True)
Идея состоит в том, чтобы позволить пользователю добавить 4 различных элемента в свою учетную запись, чтобы они могли сравнивать их.
Но когда я делаю миграцию, я получаю следующую ошибку:
compareapp.comparelist.item1: (fields.E304) Reverse accessor for 'comparelist.item1' clashes with reverse accessor for 'comparelist.item2'.
HINT: Add or change a related_name argument to the definition for 'comparelist.item1' or 'comparelist.item2'.
Я предполагаю, что ForeignKey - это не поле отношений, которое нужно здесь использовать.
Я пытался читать Django Docs на полях отношений, но я не могу разобраться с этим.
Может ли кто-нибудь дать мне простое объяснение 3-х различных полей отношений? И какой из них следует использовать в этой ситуации?