@@ -427,8 +427,7 @@ def _add_language_filter(self):
427427 ))
428428 else :
429429 masteratt = self .model ._meta .get_field ('master' ).attname
430- nullable = ({'nullable' : True } if django .VERSION >= (1 , 7 ) else
431- {'nullable' : True , 'outer_if_first' : True })
430+ nullable = {'nullable' : True }
432431 alias = self .query .join ((self .query .get_initial_alias (), self .model ._meta .db_table ,
433432 ((masteratt , masteratt ),)),
434433 join_field = BetterTranslationsField (languages , master = masteratt ),
@@ -441,15 +440,7 @@ def _add_language_filter(self):
441440
442441 else :
443442 language_code = self ._language_code or get_language ()
444- for _ , field_name in where_node_children (self .query .where ):
445- if field_name == 'language_code' :
446- # remove in 1.4
447- raise RuntimeError (
448- 'Overriding language_code in get() or filter() is no longer supported. '
449- 'Please set the language in Model.objects.language() instead, '
450- 'or use language("all") to do manual filtering on languages.' )
451- else :
452- self .query .add_filter (('language_code' , language_code ))
443+ self .query .add_filter (('language_code' , language_code ))
453444 self ._add_select_related (language_code )
454445
455446 # if queryset is about to use the model's default ordering, we
@@ -572,13 +563,12 @@ def iterator(self):
572563 yield obj
573564
574565 def create (self , ** kwargs ):
575- if 'language_code' in kwargs :
576- if self ._language_code is not None :
577- # remove in 1.4
578- raise RuntimeError ('Overriding language_code in create() is no longer allowed. '
579- 'Please set the language with language() instead.' )
580- else :
566+ if 'language_code' not in kwargs :
581567 kwargs ['language_code' ] = self ._language_code or get_language ()
568+ elif self ._language_code is not None :
569+ raise ValueError ('Overriding language_code in create() is not allowed. '
570+ 'Please set the language with language() instead.' )
571+
582572 if kwargs ['language_code' ] == 'all' :
583573 raise ValueError ('Cannot create an object with language \' all\' ' )
584574 obj = self .shared_model (** kwargs )
@@ -622,13 +612,12 @@ def get_or_create(self, **kwargs):
622612 params = dict ([(k , v ) for k , v in kwargs .items () if '__' not in k ])
623613 params .update (defaults )
624614
625- if 'language_code' in params :
626- if self ._language_code is not None :
627- # remove in 1.4
628- raise RuntimeError ('Overriding language_code in get_or_create() is no longer allowed. '
629- 'Please set the language in Model.objects.language() instead.' )
630- else :
615+ if 'language_code' not in params :
631616 params ['language_code' ] = self ._language_code or get_language ()
617+ elif self ._language_code is not None :
618+ raise ValueError ('Overriding language_code in get_or_create() is not allowed. '
619+ 'Please set the language with language() instead.' )
620+
632621 if params ['language_code' ] == 'all' :
633622 raise ValueError ('Cannot create an object with language \' all\' ' )
634623
@@ -644,7 +633,6 @@ def get_or_create(self, **kwargs):
644633 except self .model .DoesNotExist :
645634 raise exc_info [1 ]
646635
647- @minimumDjangoVersion (1 , 7 )
648636 def update_or_create (self , defaults = None , ** kwargs ):
649637 raise NotImplementedError ()
650638
@@ -758,10 +746,8 @@ def select_related(self, *fields):
758746 'you must provide a list of fields.' )
759747 if fields == (None ,):
760748 self ._raw_select_related = []
761- elif django . VERSION >= ( 1 , 7 ): # in newer versions, calls are cumulative
749+ else :
762750 self ._raw_select_related .extend (fields )
763- else : #pragma: no cover # in older versions, they overwrite each other
764- self ._raw_select_related = list (fields )
765751 return self
766752
767753 def complex_filter (self , filter_obj ):
@@ -985,8 +971,7 @@ def iterator(self):
985971 True
986972 ))
987973 else :
988- nullable = ({'nullable' : True } if django .VERSION >= (1 , 7 ) else
989- {'nullable' : True , 'outer_if_first' : True })
974+ nullable = {'nullable' : True }
990975 alias1 = qs .query .join ((qs .query .get_initial_alias (), tmodel ._meta .db_table ,
991976 ((qs .model ._meta .pk .attname , masteratt ),)),
992977 join_field = getattr (qs .model , taccessor ).related .field .rel ,
@@ -1053,10 +1038,7 @@ def _make_queryset(self, klass, core_filters):
10531038 core_filters tells whether the queryset will bypass RelatedManager
10541039 mechanics and therefore needs to reapply the filters on its own.
10551040 '''
1056- if django .VERSION >= (1 , 7 ):
1057- qs = klass (self .model , using = self .db , hints = self ._hints )
1058- else :
1059- qs = klass (self .model , using = self .db ) #pragma: no cover
1041+ qs = klass (self .model , using = self .db , hints = self ._hints )
10601042 core_filters = getattr (self , 'core_filters' , None ) if core_filters else None
10611043 if core_filters :
10621044 qs = qs ._next_is_sticky ().filter (** core_filters )
0 commit comments