بعض المشاكل مع تأكيد عناوين url في جانغو وجهات النظر
-
05-07-2019 - |
سؤال
النماذج:
القصة:
categories = models.ManyToManyField(Category)
الفئة:الاسم | سبيكة
عناوين url:
(r'^(?P<cat_slug>.*)/$', 'news.views.archive_category'),
و في الآراء, انا استخدم:
def archive_category(request, cat_slug):
entry = News.objects.get( categories__slug=cat_slug )
return render_to_response('news_archive_category.html', {'entry':entry, })
وقد خطب ما إذا كان لدي قصة اثنين أو أكثر من فئة.الرجاء مساعدتي.شكرا جزيلا!
المحلول
category = Category.objects.filter(slug=cat_slug)#get the category requested
#now get all the entries which have that category
entries = News.objects.filter(categories__in=category)#because of the many2many use __in
تحريرها بعد التعليق
نصائح أخرى
ماذا تريد أن يحدث في هذا الظرف ؟ هل تحاول أن عرض قائمة من كافة الإدخالات في فئة أو واحد فقط ؟
News.objects.get()
سوف دائما الحصول على عنصر واحد أو رفع استثناء إذا كان هناك أكثر من واحدة مطابقة المعايير.إما يجب عليك استخدام filter()
بدلا من تمرير QuerySet إلى القالب ، لذلك سوف تحتاج إلى تكرار خلال ؛ أو إضافة معايير إلى urlconf حتى يتسنى لك الحصول على دخول محددة سبيكة كذلك, حتى يمكنك فقط الحصول على كائن واحد.
لا تنتمي إلى StackOverflow