Django 模型中的用户OneToOneField
我将创建一个模型来扩展用户配置文件,我的模型如下:Django 模型中的用户OneToOneField,django,django-models,django-views,django-users,Django,Django Models,Django Views,Django Users,我将创建一个模型来扩展用户配置文件,我的模型如下: from django.db import models from django.contrib.auth.models import User class ExtendUser(models.Model): user = models.OneToOneField(User) # phone = models.CharField(max_length = 20) def __unicode__(self):
from django.db import models
from django.contrib.auth.models import User
class ExtendUser(models.Model):
user = models.OneToOneField(User)
#
phone = models.CharField(max_length = 20)
def __unicode__(self):
return u"%s" % (self.phone)
class Meta:
verbose_name_plural = "ExtendUsers"
在shell中,我尝试以以下方式扩展用户配置文件:
u = ExtendUser(user.id, phone)
u.save()
但是获取模型为空,而不是user.id pass user获取此错误:
TypeError:int()参数必须是字符串或数字,而不是“User”
德扬戈
创建实例时应使用关键字参数
u = ExtendUser(user=user, phone=phone)
或者,如果要使用id而不是用户:
u = ExtendUser(user_id=user.id, phone=phone)