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抓取所有…”是什么意思?