gpt4 book ai didi

Python/Django 迭代ManyToMany 相关领域

转载 作者:行者123 更新时间:2023-11-30 23:25:30 25 4
gpt4 key购买 nike

我需要一些帮助来解决问题。

我有三个模型:引用模型、关系模型和电路模型。关系是第一个关系的内联。电路和关系是相关的。我要做的是:- 我在引用 1 中,并且在 Relation1 到 RelationN 中选择了一些电路。- 当我保存时,我需要将Relation1保存到RelationN,以及其他RelationFirst(在保存引用模型时创建),它必须包含该引用的其他关系中存在的所有电路。

我现在拥有的代码(谁不这样做)是:

class Reference(models.Model):
title = models.CharField(max_length=200, verbose_name = _('title'))

def __unicode__(self):
return u"\n %s" %(self.title)

def save(self, force_insert=False, force_update=False, *args, **kwargs):
is_new = self.id is None
super(Reference, self).save(force_insert, force_update, *args, **kwargs)
if is_new:
Relation.objects.create(reference=self, first = True)
relation = Relation.objects.get(reference=self, first = True)
circuit = Circuit.objects.get(name = '0')
relation.circuit.add(circuit)


class Relation(models.Model):
first = models.BooleanField()
reference = models.ForeignKey(Reference)
circuit = models.ManyToManyField('Circuit', verbose_name = _('Circuits'), null=True, blank=True, related_name = 'relation_circuit')

def __unicode__(self):
return u"%s" %(self.reference)

def save(self, force_insert=False, force_update=False, *args, **kwargs):
relation1 = Relation.objects.get(reference=self.reference, first = True)
super(Relation, self).save(force_insert, force_update, *args, **kwargs)
for circ in self.circuits:
circuit = Circuit.objects.get(pk = circ)
relation1.circuit.add(circuit)

有什么帮助吗?因为我无法迭代ManyToManyRelatedField,而且我不知道该怎么做。非常感谢!

最佳答案

你应该这样做:

for circ in self.circuit.all():

关于Python/Django 迭代ManyToMany 相关领域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22988026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com