Moh*_*han 2 python django django-shell
我有一个玩过三个联赛的玩家实例。在玩家模型类中,我设置了许多具有联赛类的字段。
现在我想将所有 3 个联赛添加到 Django shell 中的玩家实例中。
class League(models.Model):
league = models.CharField(max_length=20)
def __str__(self):
return self.league
class Player(models.Model):
name = models.CharField(max_length=30)
league_played = models.ManyToManyField(League, default='Unknown')
Run Code Online (Sandbox Code Playgroud)
以下内容应该可以工作。使用文档中add概述的字段方法:
p = Player.objects.get(name=whatever)
p.league_played.add(*League.objects.filter(league__in=['league_name1', 'ln2', 'ln3']))
Run Code Online (Sandbox Code Playgroud)
对于更好的 django shell,我可以推荐你 django-extension的shell_plus,它有一些很酷的功能,比如代码完成或所有模型的自动导入。
| 归档时间: |
|
| 查看次数: |
1152 次 |
| 最近记录: |