如何在 Django 中添加多个多对多数据 shell
How to add multiple many to many data in django shell
我有一个打了三个联赛的球员实例。在球员模型 class 中,我用联赛 class 设置了多对多字段。
现在我想将所有 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')
以下几行内容应该会起作用。使用字段的 add
方法,如 documentation:
中所述
p = Player.objects.get(name=whatever)
p.league_played.add(*League.objects.filter(league__in=['league_name1', 'ln2', 'ln3']))
为了更好的 django shell,我可以向您推荐 django-extension
的 shell_plus,它具有一些很酷的功能,例如代码完成或自动导入所有模型。
我有一个打了三个联赛的球员实例。在球员模型 class 中,我用联赛 class 设置了多对多字段。
现在我想将所有 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')
以下几行内容应该会起作用。使用字段的 add
方法,如 documentation:
p = Player.objects.get(name=whatever)
p.league_played.add(*League.objects.filter(league__in=['league_name1', 'ln2', 'ln3']))
为了更好的 django shell,我可以向您推荐 django-extension
的 shell_plus,它具有一些很酷的功能,例如代码完成或自动导入所有模型。