Информационная модель доступа 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
class Article_search(models.Model):
found_articles = models.ForeignKey(
Information, on_delete=models.CASCADE, default=None, primary_key=True)
search_details = models.ForeignKey(
Search, on_delete=models.CASCADE)
my views.py
def show_articles_with_this_filter_id(request):
alles = Article_search.objects.all()
print(alles)
ошибка, которую я получаю: (1054, "1054 (42S22): Unknown column 'database_article_search.found_articles_id' in 'field list'", '42S22')
если я сделаю свой класс models.py Article_search следующим образом:
class Article_search(models.Model):
found_articles = models.ForeignKey(
Information, on_delete=models.CASCADE, default=None)
search_details = models.ForeignKey(
Search, on_delete=models.CASCADE)
Я получаю эту ошибку: (1054, "1054 (42S22): Unknown column 'database_article_search.id' in 'field list'", '42S22')
Я знаю, что каждая модель нуждается в первичном ключе, но я не понимаю, почему все модели выдают ошибку. Пожалуйста, кто-нибудь может помочь мне получить доступ к данным из этой модели
Внешний ключ никогда не может быть первичным ключом для других моделей, для этого необходимо использовать поле OneToOne вместо внешнего ключа.