django - 在 Django 中引用第三个模型的问题
问题描述
我有三个模型:
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
我收到错误:“Person”对象没有属性“StatusPerson”
任何人都可以帮我得到这个吗?
解决方案
而不是使用类名StatusPerson
,你应该使用你在related_name='person_status'
.
所以,你的函数应该是这样的:
def user_sms_status(self):
return self.person.person_status.sms_status
你可以在这里阅读更多关于它的信息。
推荐阅读
- python - 更改 Django UserAdmin 的下拉标签
- r - R:如何粘贴0()反斜杠?
- security - windows10中是否有NPPasswordChangeNotify的替代api来支持SSO
- java - 如何从java代码添加环境变量
- python-3.x - 层列表的 PyTorch 模型抛出错误
- flutter - 使用 bottomNavigationBar 时,如何为每个子屏幕设置自定义 AppBar?
- node.js - 购买 twilio 号码时或之后在 twilio 上分配动态 Webhook URL
- android - 使用 SQLite 在 Android 上更新密码
- ruby - 如何使用hanami logger?
- gitlab - Gitlab AutoDevops 环境变量不适用