Django ORM сохранить объект со всеми связанными полями - PullRequest
0 голосов
/ 23 мая 2018

В моей разработке я попал в ситуацию, когда мне нужно сохранить объект модели со всеми выбранными, связанными объектами.Звучит странно, но полезно, когда вы не знаете, какие операции выполнялись с объектом модели.Пример:

class User(models.Model):
    name = models.CharField(max_length=50)

class Room(models.Model):
    user = models.OneToOneField(User)
    size_x = models.SmallIntegerField()
    size_y = models.SmallIntegerField()

def do_some_stuff(room):
    room.user.name = "some new name"         

room = Room.objects.get(id="some_id")
do_some_stuff(room) # we didn't know which related_fields would be loaded and modified here
room.save() # <- here I want to save the room object and the user (if the user object was fetched or modified from db)

Может быть, есть какой-нибудь способ, как я могу рекурсивно получить все связанные объекты, которые были загружены?

Спасибо.

...