Django 是否有其他方法可以避免在刮取时重复数据,并避免在数据库中存储相同的数据?

Django 是否有其他方法可以避免在刮取时重复数据,并避免在数据库中存储相同的数据?,django,django-models,beautifulsoup,django-rest-framework,django-views,Django,Django Models,Beautifulsoup,Django Rest Framework,Django Views,我有一个简单的模型。 models.py class Content(models.Model): title = models.CharField(max_length = 300, unique = True) category = models.CharField(max_length = 50) def __str__(self): return self.title 然后我从一些源中抓取数据,并希望存储在这个表中 toi_r = requests.g

我有一个简单的模型。 models.py

class Content(models.Model):
    title = models.CharField(max_length = 300, unique = True)
    category = models.CharField(max_length = 50)

    def __str__(self):
    return self.title
然后我从一些源中抓取数据,并希望存储在这个表中

toi_r = requests.get("some source")
toi_soup = BeautifulSoup(toi_r.content, 'html5lib')
toi_headings = toi_soup.findAll("h2", {"class": "entry-title format-icon"})[0:9]
toi_category = toi_soup.findAll("a", {"class": ""})[0:9]
toi_news = [th.text for th in toi_headings]
toi_cat = [tr.text for tr in toi_category]

for th in toi_headings:
    toi_news.append(th.text)

for tr in toi_category:
    toi_cat.append(tr.text)

for title, category in zip(toi_news, toi_cat):
    n = Content.objects.create(title=title, category=category)

所以这里的错误是唯一约束失败。因此,如果我删除了UNIQUE约束,那么在页面刷新时,除了存储数据的多个副本外,其他一切都可以正常工作。是否有其他方法处理此问题?

为什么要删除唯一约束?您只需在
try
/
块中捕获它,但
块除外。如果存在唯一约束,则它不起作用django.db.utils.IntegrityError:唯一约束失败:解决方案取决于您想要的行为。您是希望重复项覆盖现有记录,还是希望忽略/跳过重复项?我希望忽略重复项。那么我看不出您对@Selcuk建议的问题。捕获
IntegrityError
并继续循环