我想创建一个与用户数据库具有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”
我应该如何与用户数据库建立关系?
答案 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