2017-01-08 7 views
1

У меня есть мой models.py следующим образом:Джанго TypeError: Модель экземпляры без первичного ключа являются unhashable

class Article(models.Model): 
    date = models.DateTimeField(null=True, blank=True) 
    title = models.TextField(default=None, null=True, blank=True) 
    content = models.TextField(default=None, null=True, blank=True) 
    author = models.TextField(default=None, null=True, blank=True) 
    url = models.CharField(max_length=255, default=None, null=True, blank=True, unique=True) 


class Keyword(models.Model): 
    word = models.CharField(max_length=80) 

    def __str__(self): 
     return self.word 
    article = models.ForeignKey(Article, related_name='keywords_found', null=True, blank=True) 

возникает ошибка при попытке сохранить данные, как это:

Article.objects.create(date=publish_date, title=article.title, content=article.text, author=article.authors, url=url, keywords_found=keywords_found) 

Здесь , keywords_found - это список Keyword объектов.

Ошибка:

TypeError: Model instances without primary key value are unhashable 

Где я буду неправильно? версия

Джанго: 1,10

ответ

2

Попробуйте сохранить его таким образом -

art = Article.objects.create(date=publish_date, 
           title=article.title, 
           content=article.text, 
           author=article.authors, 
           url=url) 

    Keyword.objects.create(word=keywords, article=art) 
Смежные вопросы