Добавление n-ного количества полей в модель django
Я хочу добавить неограниченные поля в модель Django. На самом деле, я хочу, чтобы моя модель выглядела так, возможно ли это?
Это возможно, но несколько иным способом: А именно, создав другую модель (например, Choice) и позволив нескольким объектам Choice указывать на один и тот же Question с помощью отношения ForeignKey. Таким образом, объектов Choices может быть произвольно много. Учебник Django, состоящий из семи частей, точно объясняет, как создать такое приложение. Я настоятельно рекомендую пройти его от начала до конца: https://docs.djangoproject.com/en/4.1/intro/tutorial01/
Это будет точно как на картинке
в панели администратора
admin.py
class AnswersInline(admin.TabularInline):
model = Answers
class QuestionAdmin(admin.ModelAdmin):
inlines = [
AnswersInline
]
admin.site.register(Question,QuestionAdmin)
modelpy
class Question(models.Model):
Username = models.CharField(max_length=50, verbose_name='User Name')
Question = models.CharField(max_length=50, verbose_name='Question')
CorrectAnswer = models.CharField(max_length=50, verbose_name='Hidden Answer')
def __str__(self):
return f"{self.Question}"
class Answers(models.Model):
QuestionId = models.ForeignKey('Question', models.DO_NOTHING)
Answer = models.CharField(max_length=50, verbose_name='User Name')
def __str__(self):
return f"{self.Answer}"