Создать новую модель django, которая будет выглядеть как список
Я хочу добавить модель, но у меня ничего не получается.
my models.py
class Information(models.Model):
id = models.CharField(max_length=200, primary_key=True)
title = models.CharField(max_length=500)
link = models.CharField(max_length=100)
summary = models.CharField(max_length=1000)
published = models.CharField(max_length = 100)
def __str__(self):
return self.title
class Search(models.Model):
id = models.CharField(max_length=100, primary_key=True)
searched_titles = models.CharField(max_length=100)
searched_topics = models.CharField(max_length=100)
number_found_articles = models.IntegerField()
def __str__(self):
return self.id
Теперь я хотел бы иметь модель, которая была бы своего рода списком. так что в ней я хотел бы иметь article_id и search_id. так что я могу получить доступ ко всем статьям, которые были найдены с search_id=''. Или я могу найти, в каких поисковых запросах появляется конкретная статья. Как должна выглядеть модель?
Вы можете использовать ManyToManyField [Django-doc] для определения отношения, где Search может быть связано с нулем, одним или более Informations, а Information связано с нулем, одним или более Searches:
class Search(models.Model):
id = models.CharField(max_length=100, primary_key=True)
searched_titles = models.CharField(max_length=100)
searched_topics = models.CharField(max_length=100)
found_articles = models.ManyToManyField(Information)
def __str__(self):
return self.id
См. раздел отношения "многие-ко-многим" в документации для получения дополнительной информации относительно получения и манипулирования ManyToManyFields.