在我的应用程序中,我需要将
一个用户只能选择一个文件名。但是同一文件名可能会被多个用户选择。
因此,数据库表可能如下所示:auth_user(由
似乎
那么,我应该使用什么来表示这种关系呢?在下面给出的UserFile类中,如果我使用…
User
与user-selected-filename
相关联。一个用户只能选择一个文件名。但是同一文件名可能会被多个用户选择。
因此,数据库表可能如下所示:
auth_user(由django.contrib.auth
创建)
-----------------------------------------
id | username | first_name | last_name | ...
------------------------------------------
1 | bert | bert | russel |...
------------------------------------------
2 | jon | jon | snow | ...
-------------------------------------------
3 | alice | alice | tanner | ...
用户文件表
-----------------------------------------------
id | filename
------------------------------------------------
1 | '/clips/summary.mp4'
------------------------------------------------
2 | '/clips/intro.mp4'
------------------------------------------------
用户_用户文件表
-----------------------------------
user_id | userfile_id
-----------------------------------
1 | 1
-----------------------------------
2 | 1
-----------------------------------
3 | 2
-----------------------------------
似乎
userfile--user
是一种1-n
的关系。一个用户文件可以与多个用户相关联。那么,我应该使用什么来表示这种关系呢?在下面给出的UserFile类中,如果我使用…
user = db.models.ForeignKey(django.contrib.auth.User)
这只会使得反向关系(即userfile--user
的n-1
)变得更加复杂。
class UserFile(db.models.Model):
filename = db.models.CharField()
user = ??