我有三种型号:
class Person(models.Model):
document = models.CharField(max_length=14)
phone = models.CharField(max_length=20)
class Address(models.Model):
person= models.ForeignKey(Person, related_name='person_address', on_delete=models.CASCADE)
zip_code = models.CharField(max_length=9)
class StatusPerson(models.Model):
person = models.OneToOneField(Person, related_name='person_status', on_delete=models.CASCADE)
sms_status = models.CharField(max_length=100, blank=True)
activation_status = models.CharField(max_length=100, blank=True)
我想从地址类中了解此人的身份。 我尝试:
def user_sms_status(self):
return self.person.StatusPerson.sms_status
我收到错误: “人员”对象没有属性“状态人员”
有人可以帮我得到这个吗?
答案 0 :(得分:1)
您应该使用在StatusPerson
中声明的内容,而不是使用类名related_name='person_status'
。
因此,您的函数应如下所示:
def user_sms_status(self):
return self.person.person_status.sms_status