У меня есть следующие отношения:
class Question(models.Model):
qid = models.PositiveIntegerField(primary_key=True)
content = models.CharField(max_length=128)
class Answer(models.Model):
answerid = models.PositiveIntegerField(primary_key=True)
content = models.CharField(max_length=128)
question = models.ForeignKey(Question)
class AnswerInline(admin.StackedInline):
model = Answer
readonly_fields = ('answerid',)
extra = 0
class QuestionAdmin(admin.ModelAdmin):
inlines = [AnswerInline]
exclude = ('id')
list_display = ('content',)
admin.site.register(Question,QuestionAdmin)
Предположим, у меня есть вопрос, а именно А, и у меня пока нет ответа на этот вопрос.
Итак, когда я добавляю ответ А. Это нормально. Тем не менее, я пытаюсь добавить другой ответ, система выдает ошибку MultiValueDictKeyError:
"Ключ" oam_answer_set-0-answerid "не найден в QueryDict: ...
Потому что и 'qid', и 'answerid' не являются автополем. Поэтому, когда я сохраняю объект, администратор django не может вставить новую строку в базу данных (отсутствует первичный ключ).
AutoField объявляется как IntegerField. Тем не менее, я хотел бы, чтобы тип поля первичного ключа был PositiveIntegerField. По этой причине, как я могу настроить AutoField?
Спасибо