python–Django:模型之间的参考

python–Django:模型之间的参考,第1张

概述救命!我有以下两种型号:class Account(models.Model): username = models.OneToOneField(User, primary_key=True, unique=True) receiveaddress = models.CharField(max_length=40, blank=True, n

救命!

我有以下两种型号:

@H_403_7@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)

例:
Visualization

我的问题:

我希望“Deposits.user”自动引用此“receiveaddress”所属的用户.在这个例子中,那是TIM.我浪费了6个小时试图搞清楚,我做错了什么?

提前致谢.

最佳答案我认为这只是一个设计问题.为什么要放两个具有相同信息的字段,因为用户拥有receiveaddress帐户,将用户添加为外键将足够清晰,我建议如下:

@H_403_7@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)

注意:作为惯例,模型名称应始终是单数 总结

以上是内存溢出为你收集整理的python – Django:模型之间参考全部内容,希望文章能够帮你解决python – Django:模型之间的参考所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1206467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存