Когда я анализирую страницу, я не могу сохранить категорию и тему в БД в Django. Что мне делать?
class Category(models.Model):
category = models.CharField(max_length=50)
slug = models.CharField(max_length=60, unique=True)
class Topic(models.Model):
topic = models.CharField(max_length=50)
slug = models.CharField(max_length=60, unique=True)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
class Page(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE)
topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
...
Я написал это, но это не работает. Скорее всего add () не может быть использован с models.ForeignKey, верно? Если да, то как это сделать?
from django.template.defaultfilters import slugify
...
page = {
'datetime': datetime,
'title':title,
'slug':slug,
'short_text':short_text,
'text':text,
'image':image_name,
'img_source':img_source,
'page_source':page_source,
}
try:
page = Page.objects.create(**page)
except Exception as e:
print(e, type(e))
category = {'category':category, 'slug':slugify(category)}
category, created = Topic.objects.get_or_create(**category)
page.category.add(category)
topic = {'topic':topic, 'slug':slugify(topic)}
topic, created = Topic.objects.get_or_create(**topic)
page.topic.add(topic)