Python 带钱包参考和WalletLog的Arcitecture流模型
问题是:我如何根据自己的需求链接所有三个模型 要求:如果用户向某人推荐Python 带钱包参考和WalletLog的Arcitecture流模型,python,django-models,foreign-key-relationship,Python,Django Models,Foreign Key Relationship,问题是:我如何根据自己的需求链接所有三个模型 要求:如果用户向某人推荐(其他用户)他将在他的钱包中获得一些金额(基于推荐)。一个用户可以将引用到许多用户 正如我上面提到的要求标准。。。请把需要的东西全部填好 我必须创建三个模型,如下所述,它们与User模型相关联 1. Wallet 2. Wallet_Log 3. Referral 请参见创建需要建议的模型 class Wallet(models.Model): owner = models.OneToOneField(user, r
(其他用户)
他将在他的钱包中获得一些金额
(基于推荐)
。一个用户
可以将引用到许多用户
正如我上面提到的要求标准。。。请把需要的东西全部填好
我必须创建三个模型,如下所述,它们与User
模型相关联
1. Wallet
2. Wallet_Log
3. Referral
请参见创建需要建议的模型
class Wallet(models.Model):
owner = models.OneToOneField(user, related_name='wallet', unique=True)
amount = models.FloatField(default=0.0)
datetime = models.DateTimeField(auto_now_add=True,null=True)
walletID = models.CharField(max_length=10, default="00000")
ack = models.BooleanField(default=False)
def __unicode__(self):
return u'%s' % self.owner
@property
def set_ack(self):
return self.ack
@set_ack.setter
def set_ack(self, bol):
self.ack = bol
class WalletLog(models.Model):
wallet = models.ForeignKey(Wallet)
user_from = models.ForeignKey(user, null=True, blank=True)
amount = models.FloatField()
datetime = models.DateTimeField(auto_now_add=True, null=True)
report = models.CharField(max_length=100)
def get_wallet_log(self):
if(self.wallet):
return "%s"%(self.wallet.amount)
else:
return "Not Available"
def get_user_from_log(self):
if(self.user_from):
return "%s"%(self.user_from.user_first_name)
else:
return "Not Available"
def __unicode__(self):
return u'%s' % self.wallet
class OrderReferral(models.Model):
referrer = models.ForeignKey(user, related_name='referrer')
referred = models.ForeignKey(user, related_name='referred')
wallet = models.ForeignKey(Wallet, related_name='order_referred')
created_date = models.DateTimeField()
updated_date = models.DateTimeField()
order_active = models.BooleanField()
def __unicode__(self):
return '%s %s made a referral' % (self.referrer.first_name, self.referrer.last_name)
class Meta:
verbose_name_plural = "Order Referral"
是最后以正确的方式设置模型关系
,以避免不必要的连接查询
,方法是编写测试用例
,代码
,想要回答这里的任何人吗。。。。提前感谢:)