【问题标题】:How to add multiple many to many data in django shell如何在 django shell 中添加多个多对多数据
【发布时间】:2018-05-23 19:56:30
【问题描述】:

我有一个参加过三个联赛的球员实例。在球员模型类中,我设置了多对多与联赛类的字段。

现在我想将所有 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')

【问题讨论】:

    标签: python django django-shell


    【解决方案1】:

    以下几行应该可行。使用documentation 中概述的字段的add 方法:

    p = Player.objects.get(name=whatever)
    p.league_played.add(*League.objects.filter(league__in=['league_name1', 'ln2', 'ln3']))
    

    要获得更好的 django shell,我可以向您推荐 django-extensionshell_plus,它具有一些很酷的功能,例如代码完成或所有模型的自动导入。

    【讨论】:

      猜你喜欢
      • 2012-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 2019-04-26
      • 1970-01-01
      • 2019-01-02
      相关资源
      最近更新 更多