我试图在循环中使用for循环存储一个对象中的很多值。全部属于FloatField类型。我的功能为我提供了一个结果的许多对象。我只需要一个对象的所有值在一行中。将列表中的迭代值保存到单个对象中
views.py
namesOfModelFields = [f.name for f in ModelName._meta.get_fields()]
resultsOfNames = ['name1', 'name2', 'name3']
resultsOfValue - ['1','2','3']
form = f_Form()
newF = form.save(commit=False)
for i in namesOfModelFields:
if any(str(i) in s for s in resultsOfNames):
j = resultsOfValue[resultsOfNames.index(i)]
form = f_Form({str(i) : float(j)})
newF = form.save(commit=False)
newF.save()
if form.is_valid():
form.save_m2m()
forms.py
class f_Form(ModelForm):
class Meta:
model = ModelName
fields = '__all__'
models.py
class ModelName (models.Model):
name1 = models.FloatField(null=True, blank=True)
name2 = models.FloatField(null=True, blank=True)
name3 = models.FloatField(null=True, blank=True)
我有更多的Fileds比3。我不能这样做一个一个
什么是“一个对象与一行中的所有值”是什么意思?你希望得到什么结果? –
https://i.imgsafe.org/512aacd7e2.png 这是我的分贝结果。我想要将所有值都放在一行中。 – karwielo
那么为什么你要在每次迭代中实例化一个新表单呢?事实上你为什么要这样做? –