У объекта 'RelatedManager' нет атрибута 'payment_status'

Я создаю приложение, в котором я хочу запросить всех членов и их статус. но я получаю вышеуказанную ошибку. вот мои обе модели.

class Member(models.Model ):
    user = models.ForeignKey(Users,verbose_name='User Id', on_delete=models.CASCADE)
    com = models.ForeignKey(Committee, on_delete=models.CASCADE,verbose_name='Committee Name')

class PaymentDetail(models.Model):
    mem = models.ForeignKey(Member,on_delete=models.CASCADE, related_name='payment_details', verbose_name='Memeber Phone no')
    com = models.ForeignKey(Committee, on_delete=models.CASCADE,related_name='committee_details',verbose_name='Committee Name')
    payment_month = models.DateField(default=datetime.now())
    payment_status = models.CharField(max_length=16, choices=PAYMENT_DETAILS_CHOICES, default="1")

Сначала я получаю все члены путем (members.objects.all()), а затем перебираю их следующим образом for member in members: member.payment_details.payment_status

но я получаю эту ошибку, связанную с тем, что менеджер не имеет атрибута.

Фактически я могу получить данные из PaymentDetail.objects.all(), но это покажет только данные из таблицы PaymentDetail. Мне нужны все члены и рядом с ними их статус из таблицы PaymentDetail

У вас есть отношение ForeingKey, это отношение один ко многим, если вы хотите получить доступ к payment_details, вы должны запросить все связанные объекты по payment_details.all().

Рассмотрите возможность использования отношения один к одному (https://docs.djangoproject.com/en/4.0/topics/db/examples/one_to_one/) , после перехода на отношение один к одному это member.payment_details.payment_status будет работать.

Вернуться на верх