Best Python code snippet using autotest_python
model_logic.py
Source:model_logic.py  
...225            # lookup base object in the dict -- we need to return instances from226            # the dict, not fresh instances of the same models227            base_object = base_objects_by_id[fresh_base_object._get_pk_val()]228            yield base_object, related_object229    def _query_pivot_table(self, base_objects_by_id, pivot_table,230                           pivot_from_field, pivot_to_field):231        """232        @param id_list list of IDs of self.model objects to include233        @param pivot_table the name of the pivot table234        @param pivot_from_field a field name on pivot_table referencing235        self.model236        @param pivot_to_field a field name on pivot_table referencing the237        related model.238        @returns pivot list of IDs (base_id, related_id)239        """240        query = """241        SELECT %(from_field)s, %(to_field)s242        FROM %(table)s243        WHERE %(from_field)s IN (%(id_list)s)244        """ % dict(from_field=pivot_from_field,245                   to_field=pivot_to_field,246                   table=pivot_table,247                   id_list=','.join(str(id_) for id_248                                    in base_objects_by_id.iterkeys()))249        cursor = readonly_connection.connection().cursor()250        cursor.execute(query)251        return cursor.fetchall()252    def _many_to_many_pivot(self, base_objects_by_id, related_model,253                            pivot_table, pivot_from_field, pivot_to_field):254        """255        @param pivot_table: see _query_pivot_table256        @param pivot_from_field: see _query_pivot_table257        @param pivot_to_field: see _query_pivot_table258        @returns a pivot iterator - see _get_pivot_iterator()259        """260        id_pivot = self._query_pivot_table(base_objects_by_id, pivot_table,261                                           pivot_from_field, pivot_to_field)262        all_related_ids = list(set(related_id for base_id, related_id263                                   in id_pivot))264        related_objects_by_id = related_model.objects.in_bulk(all_related_ids)265        for base_id, related_id in id_pivot:266            yield base_objects_by_id[base_id], related_objects_by_id[related_id]267    def populate_relationships(self, base_objects, related_model,268                               related_list_name):269        """270        For each instance of this model in base_objects, add a field named271        related_list_name listing all the related objects of type related_model.272        related_model must be in a many-to-one or many-to-many relationship with273        this model.274        @param base_objects - list of instances of this model...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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
