Unverified Kaydet (Commit) 7cbcf2e2 authored tarafından Mariusz Felisiak's avatar Mariusz Felisiak Kaydeden (comit) GitHub

Fixed #30259 -- Fixed crash of admin views when properties don't have admin_order_field attribute.

üst 93daed25
...@@ -130,7 +130,7 @@ def result_headers(cl): ...@@ -130,7 +130,7 @@ def result_headers(cl):
admin_order_field = getattr(attr, "admin_order_field", None) admin_order_field = getattr(attr, "admin_order_field", None)
# Set ordering for attr that is a property, if defined. # Set ordering for attr that is a property, if defined.
if isinstance(attr, property) and hasattr(attr, 'fget'): if isinstance(attr, property) and hasattr(attr, 'fget'):
admin_order_field = getattr(attr.fget, 'admin_order_field') admin_order_field = getattr(attr.fget, 'admin_order_field', None)
if not admin_order_field: if not admin_order_field:
is_field_sortable = False is_field_sortable = False
......
...@@ -104,7 +104,7 @@ class ArticleAdmin(admin.ModelAdmin): ...@@ -104,7 +104,7 @@ class ArticleAdmin(admin.ModelAdmin):
list_display = ( list_display = (
'content', 'date', callable_year, 'model_year', 'modeladmin_year', 'content', 'date', callable_year, 'model_year', 'modeladmin_year',
'model_year_reversed', 'section', lambda obj: obj.title, 'model_year_reversed', 'section', lambda obj: obj.title,
'order_by_expression', 'model_property_year', 'order_by_expression', 'model_property_year', 'model_month',
) )
list_editable = ('section',) list_editable = ('section',)
list_filter = ('date', 'section') list_filter = ('date', 'section')
......
...@@ -60,6 +60,10 @@ class Article(models.Model): ...@@ -60,6 +60,10 @@ class Article(models.Model):
property_year.admin_order_field = 'date' property_year.admin_order_field = 'date'
model_property_year = property(property_year) model_property_year = property(property_year)
@property
def model_month(self):
return self.date.month
class Book(models.Model): class Book(models.Model):
""" """
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment