Can't reset object attribute to its initial value. #586
Labels
app: pynetbox
severity: low
Does not significantly disrupt application functionality, or a workaround is available
status: needs owner
This issue is tentatively accepted pending a volunteer committed to its implementation
type: bug
A confirmed report of unexpected behavior in the application
Uh oh!
There was an error while loading. Please reload this page.
pynetbox version
v7.0.1
NetBox version
v3.6.1
Python version
3.11
Steps to Reproduce
Consider this simple modifying of a given attribute:
Expected Behavior
This happens because
_diff()
inresponse.py
returnsFalse
as the desired state matches its initial internal state, coming from the_init_cache
list.We've been here many times. Yes, I know I should have called
.full_details()
after the.save()
to have the attributes fetched and populated again. Yes, I know pynetbox is not an ORM and it just abstracts API calls, but let's be honest, this whole way of working is highly misleading, especially for newbies.Observed Behavior
I propose to:
Api
an option that makespynetbox
reload the object once it was saved or updated, like this:nb=pynetbox.api('http://127.0.0.1:8000', 'yada', always_reload=True)
full_details()
toreload()
or something else that makes more senseRecord
update its own_init_cache
. I know this is hard/impossible without getting back the object from NetBox and doing so would incur performance penalties; hence, I don't recommend it to be enabled by default.The text was updated successfully, but these errors were encountered: