У меня есть две модели в моем файле приложения Django models.py, вот так:

class User(models.Model):
    user = models.IntegerField(primary_key=True,max_length=5)
    first_name = models.CharField(max_length=35)
    last_name = models.CharField(max_length=35)
class Device(models.Model):
    device_name = models.CharField(unique=True,max_length=30)
    user = models.ForeignKey('User')

Каждый Device может иметь только один User, но каждый User может иметь более одного Device.

В интерфейсе администратора, когда я отображаю Device, он показывает User в раскрывающемся списке, но когда я отображаю User, я не вижу связанных {{X3} } } . Как мне это исправить, чтобы я мог видеть отношения с любой стороны?

0
conorgriffin 27 Янв 2013 в 23:36

2 ответа

Лучший ответ

Вам необходимо использовать объекты InlineModelAdmin

UPD

Должно получиться так:

class DeviceInline(admin.TabularInline):
    model = Device

class UserAdmin(admin.ModelAdmin):
    inlines = [
        DeviceInline
    ]
3
dusty 28 Янв 2013 в 10:29

Вы можете использовать StackedInline с опцией extra = 0.

class DeviceInline(admin.StackedInline):
    model = User
    extra = 0

    def has_add_permission(request):
        return True or False # change for your context
0
Fatih Erikli 27 Янв 2013 в 19:55