[英]python django 'QuerySet' object has no attribute 'objects'
我正在使用 Python django 建立一個網站。 但是,使用 django ORM 加載數據時出現錯誤,這是什么問題?
model.py
class contact(models.Model):
class Meta:
db_table="contact"
target = models.CharField(max_length=15)
team = models.CharField(max_length=15)
name = models.CharField(max_length=10)
email = models.CharField(max_length=30)
視圖.py
@login_required(login_url='common:login')
def contact_list(request):
global contact
contact = contact.objects.values('target').annotate(count=Count('email')).order_by()
context = {'contact': contact }
return render(request, 'web/contact_list.html', context)
聯系人列表。html
{% if contact %}
{% for group in contact %}
<tr tabindex="0" class="h-16 border-b transition duration-300 ease-in-out hover:bg-gray-100">
<td>
<div class="mx-5 text-sm">
{{ forloop.counter }}
</div>
</td>
<td class="">
<div class="flex items-center pl-5">
<a class="text-sm font-medium leading-none text-gray-700 dark:text-white mr-2">
{{ group.target }}
</a>
</div>
</td>
<td class="pl-5">
<div class="flex items-center">
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd" />
</svg>
<p class="text-sm leading-none text-gray-600 dark:text-gray-200 ml-2">{{ group.count }}</p>
</div>
</td>
請不要使用global
變量:您每次為contact
分配一個新值:第一次是contact
model,下一次是查詢集。 此外, 全局 state [軟件工程]是一種嚴重的反模式,尤其是在 web 服務器中。 與:
from app_name.models import Contact
@login_required(login_url='common:login')
def contact_list(request):
targets = Contact.objects.values('target').annotate(
count=Count('email')
).order_by('target')
context = {'contact': targets}
注意: Django 中的模型是用PascalCase而不是snake_case 編寫的,因此您可能希望將 model 從
重命名為contact
Contact
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.