Jango Не удается преобразовать ключевое слово 'display_data' в поле. Варианты: choosenum, displays, id, puplish_date, users v2

hi у меня проект 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 дополнительно что бы пользователи могли сделать это и показать на шаблоне и возникает эта ошибка

Похоже, что в вашей модели 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()**
        
Вернуться на верх