Создать новую модель 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.

Вернуться на верх