Django多对多字段

Django多对多字段,django,Django,每当我创建一个新的PreDefinedSet时,它就会抓取我在数据库中添加的所有设备 问题是我如何将其设置为空白,是否可以编辑多对多字段中的内容 我的目标是创建一个类,其中包含用户可以预定义的设备列表 以下是我的模型: class Equipment(models.Model): name = models.CharField(max_length = 50) class PreDefinedSet(models.Model): name = models.CharFiel

每当我创建一个新的
PreDefinedSet
时,它就会抓取我在数据库中添加的所有设备

问题是我如何将其设置为空白,是否可以编辑多对多字段中的内容

我的目标是创建一个类,其中包含用户可以预定义的设备列表

以下是我的模型:

class Equipment(models.Model):

    name = models.CharField(max_length = 50)

class PreDefinedSet(models.Model):

    name = models.CharField(max_length = 100)
    Equipments = models.ManyToManyField(Equipment)

我想我明白你想做什么了。您的模型看起来很好-我看不出有任何理由说明
预定义集
会在创建时添加相关数据(如果您在那里没有做任何有趣的事情)

现在,如果要使用数据进行操作:

eq = Equipment.objects.get(name='something')
user_set = PreDefinedSet.objects.create(name='first_set')

user_set.equipments.add(eq)

user_set.equipments.all()  # will return a QuerySet with one Equipment
另外请注意
相关的\u名称
,您可以使用该名称反向查询,如下所示:

eq.sets.all()  # will return a QuerySet of the sets that tool is in

更多关于如何操作M2M字段的信息:

我想我明白您的意图了。您的模型看起来很好-我看不出有任何理由说明
预定义集
会在创建时添加相关数据(如果您在那里没有做任何有趣的事情)

现在,如果要使用数据进行操作:

eq = Equipment.objects.get(name='something')
user_set = PreDefinedSet.objects.create(name='first_set')

user_set.equipments.add(eq)

user_set.equipments.all()  # will return a QuerySet with one Equipment
另外请注意
相关的\u名称
,您可以使用该名称反向查询,如下所示:

eq.sets.all()  # will return a QuerySet of the sets that tool is in
更多关于如何操作M2M字段的信息:

您所说的“it抓取所有…”是什么意思?您所说的“it抓取所有…”是什么意思?