Add a new function that allows to create noupdate records - #50
Add a new function that allows to create noupdate records#50mmequignon wants to merge 2 commits into
Conversation
| if not record: | ||
| record = model.create(values) | ||
| add_xmlid(ctx, record, xmlid, noupdate) | ||
| return record |
There was a problem hiding this comment.
Ideally, we want the songs to be idempotent, so create is not a good player in this regard. Why not extending create_or_update with a noupdate argument?
There was a problem hiding this comment.
Because a noupdate record shouldn't be updated.
There was a problem hiding this comment.
BTW, idempotence is guaranteed by the if not record condition.
There was a problem hiding this comment.
👍 with @guewen You can extending create_or_update function.
noupdateflag don't indicate that we never want to update a record.
It indicates we don't want update the record automatically with a module update.
Here, you call "manually" the create_or_update function, so if you don't want to update an existing record, just don't call the create_or_update function if record already exists.
Also, I would like to understand why you need this feature here.
- If you need a "module" record with
noupdate, you create it directly in your module withnoupdate. - If you need an external record like
__setup__.***, you just need to check in your script if the record exists before create it.
There was a problem hiding this comment.
It makes sense to me that a noupdate field can't be updated, I created a dedicated function for that reason. But that's not a big deal, I'll do whatever you want me to do.
| if not record: | ||
| record = model.create(values) | ||
| add_xmlid(ctx, record, xmlid, noupdate) | ||
| return record |
There was a problem hiding this comment.
👍 with @guewen You can extending create_or_update function.
noupdateflag don't indicate that we never want to update a record.
It indicates we don't want update the record automatically with a module update.
Here, you call "manually" the create_or_update function, so if you don't want to update an existing record, just don't call the create_or_update function if record already exists.
Also, I would like to understand why you need this feature here.
- If you need a "module" record with
noupdate, you create it directly in your module withnoupdate. - If you need an external record like
__setup__.***, you just need to check in your script if the record exists before create it.
No description provided.