我正在看这个例子
django-multiple-users

当我去sqlite shell

sqlite> .tables
auth_group                       classroom_subject
auth_group_permissions           classroom_takenquiz
auth_permission                  classroom_user
classroom_answer                 classroom_user_groups
classroom_question               classroom_user_user_permissions
classroom_quiz                   django_content_type
classroom_student                django_migrations
classroom_student_interests      django_session
classroom_studentanswer


models.py中有8个类

class User(AbstractUser):
 is_student = models.BooleanField(default=False)
 is_teacher = models.BooleanField(default=False)

class Subject(models.Model):
class Quiz(models.Model):
class Question(models.Model):
class Answer(models.Model):
class Student(models.Model):
class TakenQuiz(models.Model):
class StudentAnswer(models.Model):


Forms.py(如上github链接所示)具有几种形式。

表单还会创建表格吗?
课堂用户权限来自何处?

最佳答案

表单还会创建表格吗?


不,表格用于询问用户输入。它们可以“嵌入”在模板中,并且可以轻松地用于例如将响应解码为对象。实际上,某些表单确实将(更新的)值存储在模型实例中。

但是,表单可以完全不支持任何模型,一次支持一个模型或同时支持多个模型。此外,一旦表单消失了,它携带的数据也消失了(除非它当然存储在模型,文件或其他持久性结构中)。


  课堂用户权限来自何处?


这是因为您可能在ManyToManyFieldUser之间定义了Userpermission。因此,并非所有表都直接映射到模型。一些关系需要额外的表,因为它们不能直接存储在两个表之一中。

关于python - Django如何创建表(sqlite)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50970582/

10-09 18:04