簡體   English   中英

Python / DJango屬性錯誤:模型對象沒有屬性對象

[英]Python/DJango Attribute error : Model object has not attribute objects

form.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 /類型對象“問題”處的AttributeError在函數get_list中沒有屬性“ object”

如果需要:

型號

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,並使其單數形式而不是復數形式,例如ProblemTestCase而不是problemtestcases

您只是get_list ,在get_list函數中它應該是objects而不是object

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM