Best Python code snippet using autotest_python
models.py
Source:models.py  
...235        # add extra fields to selects, using the SQL itself as the "alias"236        extra_select = dict((sql, sql)237                            for sql in self.model.extra_fields.iterkeys())238        return query.extra(select=extra_select)239    def _get_include_exclude_suffix(self, exclude):240        if exclude:241            return '_exclude'242        return '_include'243    def _add_attribute_join(self, query_set, join_condition,244                            suffix=None, exclude=False):245        if suffix is None:246            suffix = self._get_include_exclude_suffix(exclude)247        return self.add_join(query_set, 'tko_test_attributes',248                             join_key='test_idx',249                             join_condition=join_condition,250                             suffix=suffix, exclude=exclude)251    def _add_label_pivot_table_join(self, query_set, suffix, join_condition='',252                                    exclude=False, force_left_join=False):253        return self.add_join(query_set, 'tko_test_labels_tests',254                             join_key='test_id',255                             join_condition=join_condition,256                             suffix=suffix, exclude=exclude,257                             force_left_join=force_left_join)258    def _add_label_joins(self, query_set, suffix=''):259        query_set = self._add_label_pivot_table_join(260                query_set, suffix=suffix, force_left_join=True)261        # since we're not joining from the original table, we can't use262        # self.add_join() again263        second_join_alias = 'tko_test_labels' + suffix264        second_join_condition = ('%s.id = %s.testlabel_id' %265                                 (second_join_alias,266                                  'tko_test_labels_tests' + suffix))267        query_set.query.add_custom_join('tko_test_labels',268                                        second_join_condition,269                                        query_set.query.LOUTER,270                                        alias=second_join_alias)271        return query_set272    def _get_label_ids_from_names(self, label_names):273        label_ids = list( # listifying avoids a double query below274                TestLabel.objects.filter(name__in=label_names)275                .values_list('name', 'id'))276        if len(label_ids) < len(set(label_names)):277            raise ValueError('Not all labels found: %s' %278                             ', '.join(label_names))279        return dict(name_and_id for name_and_id in label_ids)280    def _include_or_exclude_labels(self, query_set, label_names, exclude=False):281        label_ids = self._get_label_ids_from_names(label_names).itervalues()282        suffix = self._get_include_exclude_suffix(exclude)283        condition = ('tko_test_labels_tests%s.testlabel_id IN (%s)' %284                     (suffix,285                      ','.join(str(label_id) for label_id in label_ids)))286        return self._add_label_pivot_table_join(query_set,287                                                join_condition=condition,288                                                suffix=suffix,289                                                exclude=exclude)290    def _add_custom_select(self, query_set, select_name, select_sql):291        return query_set.extra(select={select_name: select_sql})292    def _add_select_value(self, query_set, alias):293        return self._add_custom_select(query_set, alias,294                                       _quote_name(alias) + '.value')295    def _add_select_ifnull(self, query_set, alias, non_null_value):296        select_sql = "IF(%s.id IS NOT NULL, '%s', NULL)" % (_quote_name(alias),...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!!
