对不起那个noob问题,但有没有真正需要与数据库中的表一对一的关系?您可以在一个表中实现所有必需的字段.即使数据变得非常大,您也可以在SELECT语句中枚举所需的列名而不是使用SELECT *.你什么时候真的需要这种分离?
我们假设我们有以下模型.
class A(Model): pass
class B(Model): pass
Run Code Online (Sandbox Code Playgroud)
然后没有区别:
在模型A中: b = OneToOneField(B, related_name=A.__name__)
和
在模型B中: a = OneToOneField(A, related_name=B.__name__)
那么我应该问自己什么问题来决定是否将OTO放在一个或另一个模型中.我的意思是像has-a,is-a等等.
我正在学习 Django,需要一些帮助。
我需要在我的用户模型中包含一个额外的布尔字段(我相信数据库中的 auth_user 表),并在管理用户时将其显示在管理界面中,例如此图像中的员工状态字段...
127:0.0.1:8000/管理员/用户:
和...
127.0.0.1:8000/admin/auth/user/2/change/ :
我不确定如何处理这个问题。我知道我必须扩展 AbstractUser 模型,然后可能手动将该字段添加到数据库中,但是如何更新管理界面的视图、表单和模板的新字段?我是否必须为所有这些重写 django 管理源代码,还是有更简单的方法?