我正在看这个例子 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链接所示)具有几种形式。
表格也创建表格吗? 课堂用户权限来自何处?
答案 0 :(得分:2)
表单也创建表吗?
否,表格用于询问用户输入。它们可以“嵌入”在模板中,并且可以轻松地用于例如将响应解码为对象。实际上,某些表单确实将(更新的)值存储在模型实例中。
但是,表格完全不能用于任何模型,一次或多个模型。此外,一旦表单消失了,它携带的数据也消失了(除非它当然存储在模型,文件或其他持久性结构中)。
classical_user_user_permissions来自哪里?
这是因为您可能在ManyToManyField
和User
之间定义了 Userpermission
。因此,并非所有表都直接映射到模型。有些关系需要额外的表,因为它们不能直接存储在两个表之一中。