【发布时间】:2014-09-07 17:24:31
【问题描述】:
我有一个问题,我正在寻找一周前的答案,但没有找到任何答案。 我想保存一个模型,使用 Django User 作为外键,我尝试像这样创建一个新用户:
user=User.objects.create_user(username, email, password)
然后把整个user或者user id都放了,也不行,就像这样:
studio_form.user_id=user
studio_form.user_id=user.id
什么也没有发生,一切都保存在数据库中,用户,组,但不是用户作为外键,外键 user_id 每次都为空,请帮助。
所以,这是我的代码:
Django 模型:
from django.contrib.auth.models import User
class Studios(models.Model):
user_id=models.ForeignKey(User)
studio_name=models.CharField(max_length=250)
Django 表单:
from django import forms
from web.models import *
class studioForm(forms.ModelForm):
class Meta:
model = Studios
exclude=('user_id')
widgets = {
'password': forms.PasswordInput(),
}
Django 视图:
def studio_register(request):
if request.method == "POST":
studio_form=studioForm(request.POST, request.FILES)
if studio_form.is_valid():
studio_form.save(commit=False)
data=request.POST
username=data.get("user_name")
email=data.get("email")
password=data.get("password")
user=User.objects.create_user(username, email, password)
group=Group.objects.get(name='studio')
group.user_set.add(user)
studio_form.user_id=user.id
studio_form.save()
有什么想法吗?
【问题讨论】:
标签: python django django-models django-forms