Skip to main content
 首页 » 编程设计

python之Django 类型错误 : Model instances without primary key value are unhashable

2024年08月21日35youxin

我的 models.py 如下:

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 

我哪里错了?

Django 版本:1.10

请您参考如下方法:

试试这样保存 -

    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)