администратор django почему мой внешний ключ не отображается?

#django #admin #foreign-key-relationship #selected #display

#django #администратор #foreign-key-relationship #выбрано #отображение

Вопрос:

На странице администратора django у него есть значение по умолчанию для IDC, но на странице редактирования оно не отображается. какой метод может привести к этому? одно изображение

rt два изображения

код

 class IDC(models.Model):
      uuid = UUIDField(auto=True, primary_key=True)
      name = models.CharField(max_length=64,verbose_name=u'机房名称')

class Server(models.Model):
      idc = models.ForeignKey(IDC, blank=True, null=True, verbose_name=u'机房', on_delete=models.SET_NULL)

class ServerAdmin(admin.ModelAdmin):
      model = models.Server
      exclude = ('memo',)
  

Ответ №1:

Пока вы не установите значение по умолчанию для idc поля в Server модели, это не будет отображаться в admin при создании нового объекта. Он будет показан, только если вы отредактируете уже существующий объект. Чтобы иметь значение по умолчанию для этого поля в admin, установите значение по умолчанию для вашего idc поля в Server модели.

Комментарии:

1. Я выражаю неправильно, это не значение по умолчанию, у него был object. но это не отображается.

2. Я обнаружил, что при установке uuid в значение primary_key появится такая ситуация, но использовать «идентификатор» primary_key по умолчанию в django нормально. почему?

3. когда я меняю «uuid» на «id», все работает нормально

4. идентификатор = модели. UUIDField (primary_key = True, по умолчанию = uuid.uuid4, редактируемый = False), я думаю, является функциями django1.9

5. Я действительно не понимаю, в чем ваша проблема. Пожалуйста, попробуйте описать проблему более конкретно, чтобы мы могли вам помочь.