jango 无法将关键字“display_data”解析为字段。选项有:choosenum、displays、id、puplish_date、users v2

问题描述 投票:0回答:1

嗨,我有一个 django 项目,上面的错误是 models.py

class Display(models.Model) :
    url=models.URLField(unique=True)
    text = models.CharField(max_length=150) 
    
class  Display_Data(models.Model) :
         displays = models.ManyToManyField(Display,related_name='display_data')  
         users= models.ManyToManyField(User)
         choosenum=models.IntegerField()
         puplish_date =models.DateTimeField(default=datetime.now) 
and this is views.py
check_url_exists(url_to_check):
    try:
        countArray= []
        # محاولة استرداد سجل بناءً على الرابط المعطى
        display_obj = Display.objects.get(url=url_to_check)
        for i in range(1, 6):
        # حساب عدد السجلات where choosenum = i
        
         count = Display_Data.objects.filter(display_data__url=url_to_check, choosenum=i).count()
         print(count)# إضافة عدد السجلات إلى القائمة
         countArray.append(count)
        return countArray  # الرابط موجود في قاعدة البيانات
    except Display.DoesNotExist:
        countArray= [0,0,0,0,0]
        return countArray
def display_video(request, url):
    # تشكيل الـ URL الكامل لإطار الفيديو على YouTube
    embed_url = f"https://www.youtube.com/embed/{url}"
    full_url = f"https://www.youtube.com/watch?v={url}"
    soup = BeautifulSoup(requests.get(full_url).content, "html.parser")
    title = soup.title.text
    # استخدم نموذج "display_data"
    countArry=check_url_exists(embed_url)
# استخدم "Count" لحساب عدد السجلات
        

# طباعة النتيجة
this is templete who is include with the templete above 
       
                 
<div class="container mt-5">
<div class="d-flex justify-content-start">>
    <!-- زر "نجحت" -->
    <button type="submit" name="CHOOSE"  value="1" class="btn btn-success mr-2">{{carry_0}} نجحت</button>
    <!-- زر "فشلت" -->
    <button type="submit" name="CHOOSE" value="2" btn btn-danger mr-2">{{carray_1}}فشلت</button>
    <!-- زر "تحتاج إلى مال" --> 
    <button type="submit" name="CHOOSE" value="3" class="btn btn-warning mr-2">تحتاج إلى مال{{carray_2}}</button>
    <!-- زر "تحتاج إلى أدوات" -->
    <button type="submit" name="CHOOSE" value="4" btn btn-info mr-2">{{carray_3}}تحتاج إلى أدوات</button>
    <!-- زر "مؤجل" -->
    <button type="submit" name="CHOOSE" value="5" class="btn btn-secondary">{{carray_4}}مؤجل</button>
        <!-- زر "اخر نجاح" -->
        <button type="button" class="btn btn-success mr-2">اخر نجاح</button>
        <!-- زر "اخر فشل" -->
        <button type="button" class="btn btn-danger mr-2">اخر فشل</button>
</div>

我在框架中显示一个YouTube,我尝试计算某种类似成功失败的额外结果,我制作了成功1和失败2额外的内容,用户可以制作它并将其显示在模板上,并且出现了此错误

python html django django-models django-views
1个回答
0
投票

您的 Display_Data 模型中似乎没有定义名为 display_data 的字段。相反,您有一个名为 displays 的字段。

我建议的解决方案 尝试在视图中的 check_url_exists 函数中更新查询以使用正确的字段名称。

替换这个

count = Display_Data.objects.filter(display_data__url=url_to_check, choosenum=i).count()
     

        **count = Display_Data.objects.filter(displays__url=url_to_check, choosenum=i).count()**
        
© www.soinside.com 2019 - 2024. All rights reserved.