多对多关系中间媒介表的生成和访问问题

我有user和funds两张表,用django生成多对多关系

class Funds(models.Model):
    name = models.CharField(max_length = 150)
    users = models.ManyToManyField(MyUser)

def __str__(self):
return self.name

我现在想统计每个user在他们所买基金上的收益benefits,这个字段需要设在在两张表的中间关系表user_fund中。

我想问是不是可以这样写:

class MyUser(models.Model):
    fund = models.ManyToManyField(Funds, through='Myuser_Funds')


class Funds(models.Model):
    name = models.CharField(max_length = 150)


class Myuser_Funds(models.Model):
    myuser = models.ForeignKey(Myuser)
    fund = models.ForeignKey(Funds)
    benefits=models.FloatField()

 

2016十一月21号 18:57:17 mowujilun重新编辑了文章
涨见识0 涨水分0

** 文章讲述的内容可能你不赞同,不喜欢,但如果觉得观点新颖,内容独到,提高了你的知识面,帮你了解了你不懂的知识和知道了突发的新闻,这样的贴,希望能点涨见识,相反,到处转载,内容无聊,雷同,毫无建树,请点涨水分!

我要评论

提交评论
每个人都有自己的看法,登录以后马上发表。还没有账号?点击这里马上注册一个账号。

当前有4条评论

  • 江湖中人 :2016十一月22号 02:21:52
    第一:坦白说我对这个中间媒介表我也没太搞清楚,虽然我看得懂他们的关系。我所有做的项目都没有需要这么个中间表。第二:你这个基金收益的benefits,你做了一个表里面的固定field,难道每个人的基金收益是个固定的吗?我不太明白基金,但我总觉得这个收益好像应该是变化的。就是根据你的本金,时间,还有基金的利率关系。根据公式马上就能算出来的。你把这个收益当成一个固定值写进表里面。如果客户他要增减本金,或基金调整了收益率什么的。收益不是马上就要变化吗?
    反正我看这表本身这么设计好像没什么问题,但你这个设计基金收益的方式,好像感觉有问题吧。我是金融外行啊,我只是发表点这个角度的看法。
    0 0 回复 举报
    • mowujilun :2016十一月22号 11:22:51
      其实抛开django里的模型,我自己也可以在视图里写我的逻辑,只要考虑的够全面,也不会出现什么问题。但是感觉既然用了模型了,最好把他搞清楚。
      0 0 回复 举报
    • mowujilun :2016十一月22号 11:14:55
      其实换个例子比较简单,多个个人设计了多门课程,这些人分别指定多个老师教授这些课程,这些老师分别招募很多学生来上课。学生的学费全部交给设计课程的人,他们会根据不同的课程给自己名下的老师不同的佣金。老师会给不同课程里学习好的同学部分奖学金。
      0 0 回复 举报

需要登录以后才能进行刚才的操作

  • 刚才的操作,需要登录以后才能继续,如果已经有账号,请点击登录,登录以后,会自动返回到当前页面进行刚才的操作。如果还没有账号,请点击注册。