python - 在这种情况下如何编写 __str__ func?
问题描述
我有一个“用户”模型,它有一个到用户模型的 OneToOneField 和另一个名为“user_agent”的模型,它有一个到“用户”模型的外键。如何在__str__
函数中使用“first_name”和“last_name”?!
class users(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, default='')
user_type = models.ForeignKey(types, on_delete=models.SET_NULL, blank=True, null=True)
mobile = models.CharField(max_length=20)
active_code = models.CharField(max_length=50, blank=True)
date_send_active_code = models.DateField(default=now, blank=True)
count_send_active_code = models.IntegerField(default=0)
token = models.TextField(blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class user_agent(models.Model):
user = models.ForeignKey(user_models.users, on_delete=models.CASCADE)
agent = models.ForeignKey(agents, on_delete=models.CASCADE)
parent = models.ForeignKey("self", on_delete=models.CASCADE, default='1')
def __str__(self):
return "(" + self.user.first_name + " " + self.user.last_name + ")"
解决方案
您想要self.user.user.first_name
- 但我建议您将您的user
模型名称更改为类似的名称Profile
以避免混淆(并且通常使用 CamelCase 作为您的模型名称)。
推荐阅读
- spring - Mockito 模拟基于构造函数的 api 调用调用
- ldap - 如何在 Erlang 中设置 ldap 搜索结果的限制
- java - 如何使 SQL 删除方法正确验证数据
- python-3.x - Pandas_datareader 错误符号警告:无法读取符号:'T',替换为 NaN
- css - 如何成功自定义 ionic 全局 css 颜色?
- wordpress - 如何强制 WordPress 查询满足所有要求?
- git - 关于 git merge 的一些问题
- java - 会议室可用性应用程序。如何处理数据库中的保留日期(Hibernate,H2)
- java - 将第二艘战舰实现为一维游戏《江河战舰》
- python - 有没有更快的方法来生成这个熊猫数据框?