在抽象模型关系方面,我似乎存在心理障碍。
我想为玩家提供奖品。并非所有玩家都有奖品,但如果需要,可以提供清单。
这是我到目前为止所做的:
class Prize(models.Model):
player = models.ForeignKey(Profile, related_name="gifts", null=True, blank=True)
我应该可以执行Profile.prizes并获取列表(如果存在),但是......
a)这可能是错误的关系 b)这可能是倒退......
我只是需要稍微调整一下才能回到正轨。感谢。
答案 0 :(得分:3)
您可以将ManyToManyField
用于Player
型号:
class Player(models.Model):
prizes = models.ManyToManyField("Prize")
class Prize(models.Model):
# prize_name = ...
# prize_amount = ...
然后你可以通过以下方式获得特定玩家的所有奖品:
player = Player.objects.get(id=12)
player.prizes.all()
有关ManyToMany关系的更多信息和示例,请查看here
答案 1 :(得分:0)
我会这样建议:
public function cquotation(){
$data = $this->salesModel->showCustomer();
$this->load->view('v_navbar');
$this->load->view('v_leftside');
$this->load->view('v_cquotation',array('data'=>$data));
}
通过使用这种方法,你可以获得玩家拥有的所有奖品,
class Prize(models.Model):
# write here prize model fields
class Player(models.Model):
prizes = models.ManyToManyField(Prize, blank=True)
你也可以找到有多少玩家获得任何特定奖品,
player = Player.objects.get(id=123)
prizes = player.prizes.all()