Сохранить в модели, которая ссылается на пользовательскую модель пользователя (через ForeignKey) в Django
Я пытаюсь сохранить в модель с именем Blog из файла views.py внутри Django. Эта модель Blog сама связана с пользовательской моделью пользователя, которую я создал.
Как именно это сделать? Ниже приведены
- файлmodels.py (пользовательская модель пользователя находится здесь)
- файлmodels.py (модель Blog создана здесь - в другом приложении Django)
- views.py файл, где я пытаюсь сохраниться в модели Blog. Как мне ссылаться здесь на пользователя?
Прошу простить за нубство этого вопроса. Я только начинаю :)
Внутри 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)
Я также создал модель для статей блога в 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)
В файле views.py я пытаюсь сохранить в модель Blog:
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, которая сама связана через ForeignKey с пользовательской моделью пользователя. См. последнюю строку кода в файле 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
)