Calling objects.HostRecord.create(conn, network_view=network_view) will attempt to see if the record exists, but that check does not specify the network_view and will not create the record if it exists in a different network_view, in addition no error is rasied and a network object is returned.