gpt4 book ai didi

Python/DJango 属性错误 : Model object has not attribute objects

转载 作者:太空宇宙 更新时间:2023-11-04 10:20:48 25 4
gpt4 key购买 nike

表格.py:

from django.db import models
from django import forms
from pset.models import problem , testcases

class problems(forms.ModelForm):
class Meta:
model=problem
fields=['pcode','pdesc']

class testcases(forms.ModelForm):
class Meta:
model=testcases
fields=['pcode','inp','out']

def __init__(self,*args,**kwargs):
super(testcases,self).__init__(*args,**kwargs)
self.fields['pcode']=forms.ChoiceField(choices=get_list())


def get_list() :
tup=((x,x) for x in problem.object.values_list('pcode',flat=True))
return tup

这里有两种模型形式,一种是问题,另一种是测试用例。我试图在其中包含一个下拉菜单。因为它试图包含问题模型中的 pcode 列。

但不知道为什么会报错:

/setup/add_cases/处的属性错误类型对象“问题”没有属性“对象”在函数 get_list 中。

如果需要:

模型.py

from django.db import models

# Create your models here.
class problem(models.Model) :
pcode=models.CharField(max_length=10,unique=True)
pdesc=models.TextField()

def __str__(self) :
return self.pcode

class testcases(models.Model):
pcode=models.CharField(max_length=10)
inp=models.FileField(upload_to='testcases',blank=True)
out=models.FileField(upload_to='testcases',blank=True)

def __str__(self):
return self.pcode

如果遗漏了任何细节,我们深表歉意。

最佳答案

这是这一行的错字:

problem.object.values_list('pcode',flat=True))

您缺少对象中的“s”。

problem.objects.values_list('pcode',flat=True))

顺便说一句,惯例是为您的 Django 模型使用 CamelCase,并且使用单数而不是复数,例如Problem and TestCase 而不是 problem and testcases

关于Python/DJango 属性错误 : Model object has not attribute objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32377701/

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