Django - ошибка при сохранении объекта в `TabularInline`, когда первичный ключ является строкой и доступен только для чтения
У меня есть следующие модели:
class Parent(models.Model):
    name = models.CharField(max_length=255)
class Child(models.Model):
    id = models.CharField(primary_key=True, max_length=255)
    name = models.CharField(max_length=255)
    parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
 Модель Child имеет первичный ключ (ID) типа string.
 Теперь я пытаюсь отобразить детей в TabularInline inline внутри Parent формы администратора, и я хочу, чтобы поле ID было доступно только для чтения:
class ChildMemberLinkAdmin(admin.TabularInline):
    model = Child
    extra = 0
    fields = ("id", "name")
    readonly_fields = ("id",)
@admin.register(Parent)
class ParentAdmin(admin.ModelAdmin):
    fields = ("name",)
    inlines = (ChildMemberLinkAdmin,)
 Я создал родителя и ребенка в Django Shell и проверил, что у каждого из них есть ID и имя. Они правильно отображаются в Django Admin. Однако, когда я нажимаю кнопку Save в форме Parent (даже ничего не меняя), я получаю ошибку "Please correct the errors below.". При отладке я заметил, что дочерний id почему-то отсутствует, что странно, потому что у моего Child экземпляра уже есть ID, который отображается как readonly в TabularInline в форме.
 Когда я удаляю id из ChildMemberLinkAdmin.readonly_fields все работает правильно.
Есть идеи, как это исправить?
Я использую последнюю версию Django: 3.2
