与用户数据库的ManyToOne关系

时间:2019-02-28 01:48:06

标签: django django-models

我想创建一个与用户数据库具有ManyToOne关系的模型。

这是我在该字段中使用的代码:

from django.db import models
from django.contrib.auth.models import User

class user_extended(models.Model):
    user_ID = models.ManyToOneRel(User)

迁移无效。它返回TypeError:

TypeError: init ()缺少1个必需的位置参数:“ field_name”

我应该如何与用户数据库建立关系?

2 个答案:

答案 0 :(得分:1)

我们使用ForeingKey在Django上定义ManyToOne关系。所以你应该改变

user_ID = models.ManyToOneRel(User)

user_ID = models.ForeignKey(User, on_delete=models.CASCADE)

查看Django的文档:https://docs.djangoproject.com/en/2.1/topics/db/examples/many_to_one/

答案 1 :(得分:1)

如果要建立一个ManytoOne关系(许多user_extended到一个User),您可以这样做:

from django.db import models
from django.conf import settings

class user_extended(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

注意:类名称应为CamelCase,如下所示:UserExtended