I have model in peewee ORM with unique=True
field. Im saving data to my MySQL db like this :
try:
model.save()
except IntegrityError: # do not save if it's already in db
pass
But when peewee trying to save data that already in db, MySQL increments id and ids order is broken. How to avoid this behavior ?
Here's my model im trying to save :
class FeedItem(Model):
vendor = ForeignKeyField(Vendor, to_field='name')
url = CharField(unique=True)
title = CharField()
pub = DateTimeField()
rating = IntegerField(default=0)
img = CharField(default='null')
def construct(self, vendor, url, title):
self.vendor = vendor
self.url = url
self.title = title
self.pub = datetime.now()
self.save()
class Meta:
database = db
There's im saving it:
for article in feedparser.parse(vendor.feed)['items']:
try:
entry = FeedItem()
entry.construct(vendor.name, article.link, article.title)
except IntegrityError:
pass