Django - Sqlite数据库

时间:2018-02-22 14:18:45

标签: django sqlite

非常感谢任何帮助。

我正在使用Django和SQLite,我正在尝试使用我使用模型创建的输入表加入自动生成的auth_user表。

Models.py;

class Input(models.Model):
height = models.IntegerField(default=0)
waist = models.IntegerField(default=0)
bust = models.IntegerField(default=0)
hips = models.IntegerField(default=0)

class Meta:
db_table = "Project_input"

加入表格的目的是当用户登录他们输入到我的输入表中的信息时,只与他们相关联。

我知道我必须为这个模型添加一个外键!但是如何引用auth_user表?

2 个答案:

答案 0 :(得分:0)

只需将一个ForeignKey字段添加到模型中即可。

class Input(...):
    user = models.ForeignKey('auth.User')  # (or `settings.AUTH_USER_MODEL`)
    # ...

请参阅Django docs关于外键和其他多对一关系。

答案 1 :(得分:0)

我认为,您只需要将模型编辑到此

Models.py

from django.contrib.auth.models import User 

class Input(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='inpute')
    height = models.IntegerField(default=0)
    waist = models.IntegerField(default=0)
    bust = models.IntegerField(default=0)
    hips = models.IntegerField(default=0)

   class Meta:
        db_table = "Project_input"

通过这种方式,您可以与Django提供的类用户建立一对一的关系。