![](/img/trans.png)
[英]Testing with a custom user model as a ForeignKey in Django 1.5
[英]Save to a model which is referencing a custom user model (via ForeignKey) in Django
我正在尝试从 Django 的 views.py 文件中保存到名为 Blog 的 model。 此博客 model 本身链接到我创建的自定义用户 model。
我到底该怎么做? 以下是
请原谅这个问题的菜鸟性。 我才刚刚开始:)
在 models.py 中,我有一个自定义用户 model:
class UserExtended(AbstractUser):
is_email_verified = models.BooleanField(default=False)
company = models.CharField(null=True, blank=True, max_length=255)
position = models.CharField(null=True, blank=True, max_length=255)
email = models.EmailField(unique=True)
我还在models.py中为博客文章创建了一个model:
class Blog(models.Model):
title = models.CharField(max_length=200)
blogSubject = models.CharField(null=True, blank=True, max_length=200)
keywords = models.CharField(null=True, blank=True, max_length=300)
audience = models.CharField(null=True, blank=True, max_length=200)
# connection to custom user model
profile = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
在 views.py 中,我试图保存到博客 model:
def saveBlogTopic(request, blogTopic):
# create a Blog model instance
blog = Blog.objects.create(
title = blogTopic
blogSubject = request.session['blogSubject']
keywords = request.session['keywords']
audience = request.session['audience']
profile = request.user ### ???????? ###
)
我不知道如何在保存到博客 model 时引用自定义用户 model,它本身通过 ForeignKey 链接到自定义用户 model。请参阅 views.py 中的最后一行代码。
按照步骤
1) Get the user id from the frontend
2) data = request.data
3) user)id = data.get('user_id') or seeing your views may be request.session['user_id']
4) user_obj = User.objects.get(id=user_id) # pass this user_obj in profile
在代码中
blog = Blog.objects.create(
title = blogTopic
blogSubject = request.session['blogSubject']
keywords = request.session['keywords']
audience = request.session['audience']
profile = user_obj
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.