python - 带有钱包推荐和钱包日志的模型架构流程

标签 python django-models foreign-key-relationship

任务是:我如何将所有三个模型链接到我的要求

要求如果用户推荐某人(其他用户),他将在他的钱包中获得一些数量(基于推荐) 。一个用户可以refer到多个用户

正如我在上面提到的要求标准...请完成需求

我必须创建三个模型,如下所述,它们与 User 模型相关联。

1. Wallet
2. Wallet_Log
3. Referral

查看Created需要Suggestion的模型..

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"

最佳答案

yes 最后通过编写test casecode.

关于python - 带有钱包推荐和钱包日志的模型架构流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33340889/

相关文章:

python - 如何在不将整个文件加载到内存的情况下更改大型(60gig)csv 文件的列名?

python - shutil.move() 比 os.remove() + os.rename() 慢

python - 无法将用户字段内联到 UserProfile 管理选项卡 - 'auth.User' 没有外键到 'MyApp.UserProfile'

ios - Restkit - 通过外键进行核心数据一对一关系映射

c# - EF 代码第一个 1 对 1 关系错误

python - 如何在 SymPy 中显示变量的值及其名称

python - 使用 Freebase API 时如何从 mqlread() 获取光标?

sql - 数据库表,一张表引用多个不相关的表

python - 为什么 Django 没有查看权限?

django - 为什么图像没有由 django 提供服务?