python 保存到Django中引用自定义用户模型(通过ForeignKey)的模型

h22fl7wq  于 2023-01-29  发布在  Python
关注(0)|答案(1)|浏览(125)

我尝试从Django的www.example.com文件中保存到一个名为Blog的模型views.py,这个Blog模型本身链接到我创建的自定义用户模型。
我该怎么做呢?下面是

  1. models.py 文件(此处为自定义用户模型)
  2. models.py 文件(此处创建的博客模型-在另一个Django应用中)
  3. views.py 文件,我尝试将该文件保存到博客模型。如何在此处引用用户?
    请原谅我这个问题的无知。我才刚刚开始:)
    在www.example.com中models.py,我有一个自定义用户模型:
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)

我还为www.example.com上的博客文章创建了一个模型models.py:

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)

在www.example.com中views.py,我尝试保存到博客模型:

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 ### ???????? ###
    )

我不知道在保存到Blog模型时如何引用自定义用户模型,Blog模型本身通过ForeignKey链接到自定义用户模型。

mspsb9vt

mspsb9vt1#

按照以下步骤操作

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
)

相关问题