@Dardrin

Как правильно использовать ForeignKey в fieldsets Django-admin?

Есть модель Servers, связанная 1-1 с ServersType:
class ServersType(models.Model):
    type_name = models.CharField(null=False, max_length=255)

class Servers(models.Model):
    type = models.ForeignKey(ServersType)

В админке работает только в таком виде:
class ServersAdmin(admin.ModelAdmin):
    def get_type(self, object):
        return object.type.type_name

    get_type.admin_order_field = 'type__type_name'
    get_type.short_description = 'Type'

    fieldsets = [
        ('Other info', {'fields': ['type']}),
    ]
    list_display = ('get_type')
    list_filter = ['type__type_name']

При этом, если использую в fieldsets - type__type_name, падает ошибка
Unknown field(s) (type__type_name) specified for Servers. Check fields/fieldsets/exclude attributes of class ServersAdmin.

Если просто type - выпадающий список ServersTypeObject.

Как вывести в нормальном виде выпадающий список?
  • Вопрос задан
  • 3735 просмотров
Решения вопроса 1
crazyzubr
@crazyzubr
Python backend-developer
Проставь у модели метод __unicode__ для второго питона или __str__ для третьего.

Пример:
class ServersType(models.Model):
    type_name = models.CharField(null=False, max_length=255)

    def __unicode__(self):
        return self.type_name
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы