Building an App with custom data models
As you have seen, it’s quite possible to implement a useful Nautobot App without adding any custom data models at all. However, you’ve probably also noticed some of the limitations of the approach we took in the previous sections of this chapter:
- The config context can’t store direct references to other database objects, only information about them. That is to say, the ACL entries you entered defined networks as strings, and could not directly reference the corresponding Nautobot
Prefix
orIPAddress
objects. One consequence of this is potential issues with data integrity—for example, deleting aPrefix
orIPAddress
object from Nautobot does not result in any automatic change to the ACL definitions that were using that network. - Because a device’s config context data is derived on the fly rather than stored in the database, performance can suffer when inspecting a large number of devices at the same...