بعض المشاكل مع تأكيد عناوين url في جانغو وجهات النظر

StackOverflow https://stackoverflow.com/questions/1604987

سؤال

النماذج:

القصة:

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 حتى يتسنى لك الحصول على دخول محددة سبيكة كذلك, حتى يمكنك فقط الحصول على كائن واحد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top