Как я могу скрыть поле с пустым значением в окне изменения в админке
У меня есть группа разрешений goup1 и группа 2 и группа 3
группа 1: разрешение = можно редактировать + можно добавлять + может просматривать + может удалять
группа 2: разрешение = может редактировать + может dd
разрешение группы 3 = может просматривать
проблема в group3, у меня пустое поле (поле файла или charfield ...)
Мне нужно скрыть пустое значение в group3, чтобы группа могла видеть поле juste со значением, а не пустое (см. пример изображения)
Мне нужно скрыть пустое поле, это поле Dynami c, id'не всегда имеют одинаковые поля, может быть, еще одно поле файла
также, если нет файла, поэтому они должен быть скрыт
Admin.py
class AnnexeCooperationBilateraleInline(admin.StackedInline):
model = Annexe
extra = 1
#formset = RequiredInlineFormSet
exclude =["cooperationMultilaterale",'am','calip']
class InstrumentJuridiqueDocCooperationBilateraleInline(admin.StackedInline):
model = InstrumentJuridiqueDoc
extra = 1
max_num = 1
#formset = RequiredInlineFormSet
exclude =["cooperationMultilaterale",'am','calip']
class CooperationBilateraleAdmin(ManyToManyAdmin):
fieldsets = [
( '', {
'fields': ['paysPartenaires', 'instrumentJuridique',('partenaire','gouvernement','paysP','etat','adefinir'),'objet', 'axeCooperation']
}),
('Autres élements à rajouter ?', {
'fields': ['infoPlus', ]
}),
('', {
'fields': [ 'acteJuridique',('dateSignature','dateEntreeVigueur' ),('duree','dureeplus5ans', 'renouvellement'), ('pays', 'villeSignature')]
}),
('Base Documentaire', {
'fields': [], 'description': 'Joindre le(s) fichier(s) '}),
]
class Media:
js = (
'//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js', # jquery
'/static/admin/js/assets_admin.js', # project static folder
)
css = {
'all': ('/static/admin/css/CooperationBilateraless.css',)
}
def render_change_form(self, request, context, *args, **kwargs):
user = get_user_model()
group = request.user.groups.values_list('id', flat=True).first()
if request.user.has_perm('system.edit_CooperationBilaterale') or request.user.has_perm('system.add_CooperationBilaterale'):
context['media'] += forms.Media(
css={"all": ("/static/admin/css/CooperationBilaterale.css",)},
js=["/static/admin/js/CooperationBilaterale.js"],
)
if request.user.has_perm('system.edit_CooperationBilaterale') or request.user.has_perm('system.add_CooperationBilaterale'):
context['adminform'].form.fields['partenaire'].queryset = PartenaireInternational.objects.filter( caneva__contains=',2,')
context['adminform'].form.fields['etat'].queryset = Etat.objects.filter(type__exact=3)
context['adminform'].form.fields['duree'].queryset = DureeCooperation.objects.all().order_by('order')
if group==2: # Goupe Bilatérale Afrique et Pays arabes
context['adminform'].form.fields['paysPartenaires'].queryset = Pays.objects.filter(Q(region=1) | Q(region=2)).distinct()
if group==3: # Goupe Bilatérale Europe
context['adminform'].form.fields['paysPartenaires'].queryset = Pays.objects.filter(region=6).distinct()
if group == 4: # Goupe Bilatérale Amérique et Pays d'Asie
context['adminform'].form.fields['paysPartenaires'].queryset = Pays.objects.filter(Q(region=3) | Q(region=4)).distinct()
return super(CooperationBilateraleAdmin, self).render_change_form(request, context, *args, **kwargs)
def save_model(self, request, obj, form, change):
if getattr(obj, 'created_by', None) is None:
obj.created_by = request.user
obj.save()
#def get_readonly_fields(self, request, obj=None):
#readonly_fields = [];
#readonly_fields.append('partenaire')
#return readonly_fields
#autocomplete_fields = ['paysPartenaires','instrumentJuridique','pays']
inlines = (InstrumentJuridiqueDocCooperationBilateraleInline,AnnexeCooperationBilateraleInline,)
pass
admin.site.register(CooperationBilaterale, CooperationBilateraleAdmin)
если возможно, мне нужно решение, которое я могу использовать в модели администратора.