Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 未解析的属性引用';对象';_Python_Django - Fatal编程技术网

Python 未解析的属性引用';对象';

Python 未解析的属性引用';对象';,python,django,Python,Django,在models.py中,我有课程备忘录: class Memo(models.Model): MonthName = models.ForeignKey(Months, on_delete=models.CASCADE) ProjectName = models.ForeignKey(Project, on_delete=models.CASCADE) Hours = models.IntegerField(blank=True, null=True) # Pro

在models.py中,我有课程备忘录:

class Memo(models.Model):
    MonthName = models.ForeignKey(Months, on_delete=models.CASCADE)
    ProjectName = models.ForeignKey(Project, on_delete=models.CASCADE)
    Hours = models.IntegerField(blank=True, null=True)
    # ProjectManager = models.ForeignKey(ItEmployee, on_delete=models.CASCADE)

    def __str__(self):
        return str(self.MonthName) + ' - ' + str(self.ProjectName)
from django.http import HttpResponse
from History.models import Memo

def memos(request):
    all_memos = Memo.objects.all()
    html = ''
    for memo in all_memos:
        url = '/memo/' + str(Memo.MonthName) + '/'
        html += '<a href="' + url + '">' + Memo.ProjectName + '</a><br>'
    return HttpResponse(html)
在views.py中,我收到了关于类备忘录的未解析属性引用“objects”的警告:

class Memo(models.Model):
    MonthName = models.ForeignKey(Months, on_delete=models.CASCADE)
    ProjectName = models.ForeignKey(Project, on_delete=models.CASCADE)
    Hours = models.IntegerField(blank=True, null=True)
    # ProjectManager = models.ForeignKey(ItEmployee, on_delete=models.CASCADE)

    def __str__(self):
        return str(self.MonthName) + ' - ' + str(self.ProjectName)
from django.http import HttpResponse
from History.models import Memo

def memos(request):
    all_memos = Memo.objects.all()
    html = ''
    for memo in all_memos:
        url = '/memo/' + str(Memo.MonthName) + '/'
        html += '<a href="' + url + '">' + Memo.ProjectName + '</a><br>'
    return HttpResponse(html)
从django.http导入HttpResponse
从History.models导入备忘录
def备忘录(请求):
all_memos=Memo.objects.all()
html=“”
对于所有备忘录中的备忘录:
url='/memo/'+str(memo.MonthName)+'/'
html+='
' 返回HttpResponse(html)
您在for循环中使用大写的
Memo
,将类作为一个整体引用,而不是
所有备忘录中的
Memo
实例。试试这个:

for memo in all_memos:
    url = '/memo/' + str(memo.MonthName) + '/'
    html += '<a href="' + url + '">' + memo.ProjectName + '</a><br>'
对于所有备忘录中的备忘录:
url='/memo/'+str(memo.MonthName)+'/'
html+='
'

另一方面,您的模型属性通常写为
month\u name
project\u name
等,而不是
MonthName
ProjectName
等。

似乎@Yopa对包含Memo.objects.all()的行有问题。他们不会仍然对该行有问题吗?问题当然是试图访问
Memo.MonthName
而不是
Memo.MonthName
(与
ProjectName
相同)。原始海报试图访问对类的引用上的实例级属性,而不是实例本身上的属性。字段也是如此。每个实例或整个类的对象是否存在?正如下面的答案所提到的,混淆很可能来自区分类备忘录和实例(备忘录)