Форум сайта python.su
У меня есть три модели:
class Brand(models.Model):
"""Производители авто, такие как BMW, Audi, etc"""
class Model(models.Model):
"""Модельный ряд определенного производителя"""
brand = models.ForeignKey(Brand)
class Engine(models.Model):
"""Модификации двигателей"""
brand = models.ForeignKey(Model)
class BrandAdmin(admin.ModelAdmin):
list_display = ('name', )
class ModelAdmin(admin.ModelAdmin):
list_display = ('name', 'fromYear', 'toYear')
list_filter = ('brand', )
class EngineAdmin(admin.ModelAdmin):
list_display = ('model', 'name', 'category', 'type', 'kind', 'capacity', 'power')
list_filter = ('model', )
Офлайн
Например так:
models.py:
class Category(models.Model):
title = models.CharField(max_length=255)
parent = models.ForeignKey('self', blank=True, null=True)
class CategoryAdmin(admin.ModelAdmin):
list_display = ('title','parent')
search_fields = ['parent__title', 'title']
admin.site.register(Category, CategoryAdmin)
Офлайн
А два ForeignKey — это нормально, да?
Офлайн
Нормально до тех пор пока это считать нормальным. Но что есть нормально.
Короче у меня работает так. Если хочешь оптимизируйся.
Офлайн
romankrv
Думаю, такой подход не верен, по очень многим причинам.
nuklea
Я не проверял, но попробуйте 'model_set__brand' или через related_name (http://docs.djangoproject.com/en/1.2/ref/models/fields/#django.db.models.ForeignKey.related_name)
Офлайн