• Home
  • Django
  • NestedObjects - get all related objects by instance

NestedObjects - get all related objects by instance

linkaiyi
Follow
def get_objects_by_user(username):
    default_user = User.objects.get(username='Z_AB')
    user = User.objects.filter(username=username).first()
    collector = NestedObjects(using='default')
    collector.collect([user])
    # iterate all items
    for cls, instances in collector.data.items():
        if cls.__name__ not in ['User', 'HumanResource']:
            fields = []
            for field in cls._meta.fields:
                if isinstance(field, ForeignKey) and field.remote_field.model == User:
                    fields.append(field.name)
            for instance in instances:
                for field_name in fields:
                    if getattr(instance, field_name) == user:
                        print(instance.__str__() + ' / ' + field_name)
                        setattr(instance, field_name, default_user)
                instance.save()
Object has 0 attachments

Was this article helpful?

This article is viewed 14 times!

0 Comments

Leave a Comment

Support