Как сохранить пользователя как атрибут модели Django

Я пытаюсь создать функцию Mail как часть моего сайта, я хотел бы сохранить получающего User вместо имени пользователя получающего пользователя в receiver части класса Mail, так что мне не нужно фильтровать пользователя. Вот что я сделал:

class Mail(models.Model):
    sender = models.ForeignKey(User, on_delete=models.CASCADE)
    receiver = models.ForeignKey(User, on_delete=models.CASCADE, choices=[(u.username, u) for u in User.objects.all()])
    title = models.CharField(max_length=50)
    content = models.TextField()

django выдает мне эту ошибку

ERRORS:
mail.Mail.sender: (fields.E304) Reverse accessor for 'mail.Mail.sender' clashes with reverse accessor for 'mail.Mail.receiver'.
        HINT: Add or change a related_name argument to the definition for 'mail.Mail.sender' or 'mail.Mail.receiver'.
mail.Mail.receiver: (fields.E304) Reverse accessor for 'mail.Mail.receiver' clashes with reverse accessor for 'mail.Mail.sender'.
        HINT: Add or change a related_name argument to the definition for 'mail.Mail.receiver' or 'mail.Mail.sender'.

Вам необходимо добавить атрибут related_name. Для получения дополнительной информации прочитайте эту статью: Для чего используется related_name?

class Mail(models.Model):
    sender = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sender')
    receiver = models.ForeignKey(User, on_delete=models.CASCADE, choices=[(u.username, u) for u in User.objects.all()], related_name='receiver')
    title = models.CharField(max_length=50)
    content = models.TextField()
Вернуться на верх