How to use _is_relation_to method in autotest

Best Python code snippet using autotest_python

model_logic.py

Source:model_logic.py Github

copy

Full Screen

...178 sql_query = 'SELECT ' + distinct + ','.join(selects) + where179 cursor = readonly_connection.connection().cursor()180 cursor.execute(sql_query, params)181 return cursor.fetchall()182 def _is_relation_to(self, field, model_class):183 return field.rel and field.rel.to is model_class184 def _get_pivot_iterator(self, base_objects_by_id, related_model):185 """186 Determine the relationship between this model and related_model, and187 return a pivot iterator.188 @param base_objects_by_id: dict of instances of this model indexed by189 their IDs190 @returns a pivot iterator, which yields a tuple (base_object,191 related_object) for each relationship between a base object and a192 related object. all base_object instances come from base_objects_by_id.193 Note -- this depends on Django model internals and will likely need to194 be updated when we move to Django 1.x.195 """196 # look for a field on related_model relating to this model197 for field in related_model._meta.fields:198 if self._is_relation_to(field, self.model):199 # many-to-one200 return self._many_to_one_pivot(base_objects_by_id,201 related_model, field)202 for field in related_model._meta.many_to_many:203 if self._is_relation_to(field, self.model):204 # many-to-many205 return self._many_to_many_pivot(206 base_objects_by_id, related_model, field.m2m_db_table(),207 field.m2m_reverse_name(), field.m2m_column_name())208 # maybe this model has the many-to-many field209 for field in self.model._meta.many_to_many:210 if self._is_relation_to(field, related_model):211 return self._many_to_many_pivot(212 base_objects_by_id, related_model, field.m2m_db_table(),213 field.m2m_column_name(), field.m2m_reverse_name())214 raise ValueError('%s has no relation to %s' %215 (related_model, self.model))216 def _many_to_one_pivot(self, base_objects_by_id, related_model,217 foreign_key_field):218 """219 @returns a pivot iterator - see _get_pivot_iterator()220 """221 filter_data = {foreign_key_field.name + '__pk__in':222 base_objects_by_id.keys()}223 for related_object in related_model.objects.filter(**filter_data):224 fresh_base_object = getattr(related_object, foreign_key_field.name)...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful