救命!
我有以下两种型号:
class Account(models.Model):
username = models.OnetoOneField(User,primary_key=True,unique=True)
receiveaddress = models.CharField(max_length=40,blank=True,null=True,unique=True)
balance = models.DecimalField(max_digits=16,decimal_places=8,default=0)
def __str__(self):
return str(self.username)
class Deposits(models.Model):
receiveaddress = models.CharField(max_length=40,unique=True)
amount = models.DecimalField(max_digits=16,default=0)
user = ?????????????????
created_at = models.DateTimeField(auto_Now_add=True)
updated_at = models.DateTimeField(auto_Now=True)
confirmed = models.BooleanField(default=False)
accounted = models.BooleanField(default=False)
def __str__(self):
return str(self.receiveaddress)
我的问题:
我希望“Deposits.user”自动引用此“receiveaddress”所属的用户.在这个例子中,那是TIM.我浪费了6个小时试图搞清楚,我做错了什么?
提前致谢.
最佳答案
我认为这只是一个设计问题.为什么要放两个具有相同信息的字段,因为用户拥有receiveaddress帐户,将用户添加为外键将足够清晰,我建议如下:
class Account(models.Model):
username = models.OnetoOneField(User,default=0)
def __str__(self):
return str(self.username)
class Deposit(models.Model):
amount = models.DecimalField(max_digits=16,default=0)
user = models.ForeignKey(User,related_name="deposits")
created_at = models.DateTimeField(auto_Now_add=True)
updated_at = models.DateTimeField(auto_Now=True)
confirmed = models.BooleanField(default=False)
accounted = models.BooleanField(default=False)
def __str__(self):
return str(self.user.account.receiveaddress)
注意:作为惯例,模型名称应始终是单数
原文地址:https://www.jb51.cc/python/438459.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。