У объекта '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
будет работать.