有没有一种比以下模式更简单的添加用户的方法?
try:
new_user = User.objects.create_user(username, email, password)
except IntegrityError:
messages.info(request, "This user already exists.")
else:
new_user.first_name = first_name
# continue with other things
最佳答案
我不这么认为。但是您可以代理Django用户:
class MyUser(User):
class Meta:
proxy = True
def get_or_create(self, username, email, password, *args, **kwargs):
try:
new_user = User.objects.create_user(username, email, password)
except IntegrityError:
return User.objects.get(username=username, email=email)
else:
new_user.first_name = kwargs['first_name'] # or what you want
...etc...
return new_user
关于django - 等效于get_or_create用于添加用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7511391/