簡體   English   中英

python django 'QuerySet' object 沒有屬性 'objects'

[英]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.

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