我正在使用django管理页面将问题放入数据库。
我的models.py是这样的:
来自django.db导入模型
# Create your models here.
class Question(models.Model):
question_name = models.CharField(max_length=200)
question_type = models.CharField(max_length=20)
def __unicode__(self):
return self.question_name
class PythonQuestion(models.Model):
question_no = models.ForeignKey(Question)
question_text = models.TextField(max_length=1000)
question_testcase = models.TextField(max_length=1000)
question_difflevel = models.CharField(max_length=20)
我希望对我的django-admin页面进行这些特殊更改: -
截至目前,我可以从管理页面向Question模型和PythonQuestion模型添加内容。我想要的是我应该能够写入Question模型,然后被引导到一个页面,我可以将数据写入PythonQuestion模型。我的页面已启动并正在运行;我需要的只是指向链接。
我想上传每个问题的答案,这些问题都是某种文件格式(这里的格式无关紧要。让我们假设一个文本文件)。我如何在管理页面中执行此操作?
答案 0 :(得分:1)
从概念上讲,我认为可能是。你可以read more about it in the django docs但基本上Django有3种类型的继承; 抽象,多表和代理,它们在不同的情况下都很有用:
和一个快速示例(多表):
class Answer(models.Model):
answer_text = models.CharField(...)
class Question(models.Model):
"""What all questions have in common"""
title = models.CharField(...)
text = models.CharField(...)
answer = models.ForeignKey(Answer)
class PythonQuestion(Question):
"""What specifics a python question might have"""
python_version = models.CharField(...)
您将能够在django admin中一次性输入所有数据(对于多重和抽象继承,这是相同的)。此外,您对每个问题都有答案。如果需要(或通过管理员手动输入),可以通过灯具上传这些答案