Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class SeriesAdmin(ModelLinkAdminFields, admin.ModelAdmin):
- search_fields = ['title_ru', 'token']
- list_display = ('title_ru', 'last_episode_time')
- modellink = ['video',]
- class ModelLinkWidget(forms.HiddenInput):
- def __init__(self, admin_site, original_object):
- self.admin_site = admin_site
- self.original_object = original_object
- super(ModelLinkWidget,self).__init__()
- def render(self, name, value, attrs=None):
- if self.original_object is not None:
- change_url = urlresolvers.reverse('admin:%s_%s_change' %
- (type(self.original_object)._meta.app_label,
- type(self.original_object)._meta.object_name.lower()),
- args=(self.original_object.id,))
- return mark_safe('<a id="%s" name="{name}" href="%s">%s</a>' %
- (attrs['id'], change_url , escape(self.original_object)))
- else:
- return None
- class ModelLinkAdminFields(object):
- def get_form(self, request, obj=None, **kwargs):
- form = super(ModelLinkAdminFields, self).get_form(request, obj, **kwargs)
- if hasattr(self, 'modellink'):
- for field_name in self.modellink:
- if field_name in form.base_fields:
- form.base_fields[field_name].widget = ModelLinkWidget(self.admin_site, getattr(obj, field_name, ''))
- return form
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement