0
我想要的很简单:如何将此查询转换为“django模型查询”?
型号:
class userLastTrophy(models.Model):
user = models.ForeignKey(userInfo)
platinum = models.IntegerField()
gold = models.IntegerField()
silver = models.IntegerField()
bronze = models.IntegerField()
level = models.IntegerField()
rank = models.IntegerField()
perc_level = models.IntegerField()
date_update = models.DateTimeField(default=datetime.now, blank=True)
total = models.IntegerField()
points = models.IntegerField()
class userTrophy(models.Model):
user = models.ForeignKey(userInfo)
platinum = models.IntegerField()
gold = models.IntegerField()
silver = models.IntegerField()
bronze = models.IntegerField()
total = models.IntegerField()
level = models.IntegerField()
perc_level = models.IntegerField()
date_update = models.DateTimeField(default=datetime.now, blank=True)
rank = models.IntegerField(default=0)
total = models.IntegerField(default=0)
points = models.IntegerField(default=0)
last_trophy = models.ForeignKey(userLastTrophy, default=0)
我有这个疑问:
select t2.user_id as id,
t2.platinum - t1.platinum as plat,
t2.gold - t1.gold as gold,
t2.silver - t1.silver as silver,
t2.bronze - t1.bronze as bronze,
t2.points - t1.points as points from myps3t_usertrophy t2, myps3t_userlasttrophy t1 where
t1.id = t2.last_trophy_id order by points;
如何与Django模型做到这一点?
我觉得这是不好的设计。你应该把所有这些放在一个模型中(它基本上是一样的),让'last_trophy'指向它自己。 – 2010-03-28 18:46:01
如果我需要每个用户超过一个“userLastTrophy”,并且只有一个userTrophy,那么该怎么办?有一个更好的方法吗 ? 这只是一个例子,你知道如何在django模型中做到这一点吗? – fabriciols 2010-03-28 22:47:40