Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django套装,选择2条自动完成内联线_Python_Django_Jquery Select2_Django Suit - Fatal编程技术网

Python django套装,选择2条自动完成内联线

Python django套装,选择2条自动完成内联线,python,django,jquery-select2,django-suit,Python,Django,Jquery Select2,Django Suit,我在Django-Select2和Django-Suit中遇到了一个严重的问题,我试图在admin Suit中包含Select2的自动完成字段,但我失败了,问题是添加另一个字段的链接没有出现在结果管理表单中;任何帮助都会受到欢迎 我的两种表格是: class EstudianteNominaInlineForm(ModelForm): class Meta: model = EstudianteNomina fields = [

我在Django-Select2和Django-Suit中遇到了一个严重的问题,我试图在admin Suit中包含Select2的自动完成字段,但我失败了,问题是添加另一个字段的链接没有出现在结果管理表单中;任何帮助都会受到欢迎

我的两种表格是:

class EstudianteNominaInlineForm(ModelForm):
    class Meta:
        model = EstudianteNomina

        fields = [
            'becado',
            'pago',
            'nomina',
            ]

        widgets = {
            'pago': EnclosedInput(append='icon-check'),
            }

    becado = EstudiantesNominaAdminSelect(
        label = 'Beneficiario',
        widget = AutoHeavySelect2Widget(select2_options={'width':'220px', 'minimumInputLength': 5})
        )


class NominaAdminForm(forms.ModelForm):
    class Meta:
    model = Nomina

    fields = [
            'tipo',
            'beneficio',
            'carrera_sedes',
            'pago',
            ]

    widgets = {
        'tipo': Select2Widget(select2_options={'width': '300px'}),
        'pago': EnclosedInput(append='icon-pencil'),
    }  
class NominaInline(SortableTabularInline):
    form = EstudianteNominaInlineForm
    model = EstudianteNomina
    extra=1
    sortable = 'becado'
    verbose_name_plural = 'Estudiantes en nomina'

class NominaAdmin(SortableModelAdmin):
form = NominaAdminForm
inlines = (NominaInline,)

def suit_row_attributes(self, obj, request):

    css_class = {
        True: 'success',
        False: 'error',
    }.get(int(obj.activa))
    if css_class:
        return {'class': css_class}

search_fields=['tipo', 'fecha']
list_filter=['tipo', 'fecha']
list_display=['id','get_carrera','Tipo', 'fecha', 'Pago', 'activa']
exclude = ['beneficio','carrera_sedes']
actions = [CerrarNominas, Normal, Especial, GeneraAbonos, GeneraAbonosN, GeneraTarjetas, GeneraAbonosE, GeneraAbonosEN]


def get_carrera(self, obj):
    if  obj.carrera_sedes.all().count() == 0:
        return u'NO EXISTEN CARRERAS ASOCIADAS'
    else:
        carreras =''
        for carrera in obj.carrera_sedes.all():
            carreras += '  {'+str(carrera.carreras.codigo_interno)+' - '+str(carrera.carreras.nombre)+'}  '
        return carreras 
get_carrera.short_description = 'carreras'


def Tipo(self,obj):
    if obj.tipo=='0':
        return "NORMAL"
    else:
        return "ESPECIAL"
Tipo.short_description = 'nominas disponibles'

def Pago(self,obj):
    if obj.pago==None:
        return '400'
    else:
        return obj.pago
Pago.short_description = 'Pago'
admin.site.register(Nomina, NominaAdmin)
我的admin.py是:

class EstudianteNominaInlineForm(ModelForm):
    class Meta:
        model = EstudianteNomina

        fields = [
            'becado',
            'pago',
            'nomina',
            ]

        widgets = {
            'pago': EnclosedInput(append='icon-check'),
            }

    becado = EstudiantesNominaAdminSelect(
        label = 'Beneficiario',
        widget = AutoHeavySelect2Widget(select2_options={'width':'220px', 'minimumInputLength': 5})
        )


class NominaAdminForm(forms.ModelForm):
    class Meta:
    model = Nomina

    fields = [
            'tipo',
            'beneficio',
            'carrera_sedes',
            'pago',
            ]

    widgets = {
        'tipo': Select2Widget(select2_options={'width': '300px'}),
        'pago': EnclosedInput(append='icon-pencil'),
    }  
class NominaInline(SortableTabularInline):
    form = EstudianteNominaInlineForm
    model = EstudianteNomina
    extra=1
    sortable = 'becado'
    verbose_name_plural = 'Estudiantes en nomina'

class NominaAdmin(SortableModelAdmin):
form = NominaAdminForm
inlines = (NominaInline,)

def suit_row_attributes(self, obj, request):

    css_class = {
        True: 'success',
        False: 'error',
    }.get(int(obj.activa))
    if css_class:
        return {'class': css_class}

search_fields=['tipo', 'fecha']
list_filter=['tipo', 'fecha']
list_display=['id','get_carrera','Tipo', 'fecha', 'Pago', 'activa']
exclude = ['beneficio','carrera_sedes']
actions = [CerrarNominas, Normal, Especial, GeneraAbonos, GeneraAbonosN, GeneraTarjetas, GeneraAbonosE, GeneraAbonosEN]


def get_carrera(self, obj):
    if  obj.carrera_sedes.all().count() == 0:
        return u'NO EXISTEN CARRERAS ASOCIADAS'
    else:
        carreras =''
        for carrera in obj.carrera_sedes.all():
            carreras += '  {'+str(carrera.carreras.codigo_interno)+' - '+str(carrera.carreras.nombre)+'}  '
        return carreras 
get_carrera.short_description = 'carreras'


def Tipo(self,obj):
    if obj.tipo=='0':
        return "NORMAL"
    else:
        return "ESPECIAL"
Tipo.short_description = 'nominas disponibles'

def Pago(self,obj):
    if obj.pago==None:
        return '400'
    else:
        return obj.pago
Pago.short_description = 'Pago'
admin.site.register(Nomina, NominaAdmin)
这是结果表单(表单中未找到添加另一个按钮):

class EstudianteNominaInlineForm(ModelForm):
    class Meta:
        model = EstudianteNomina

        fields = [
            'becado',
            'pago',
            'nomina',
            ]

        widgets = {
            'pago': EnclosedInput(append='icon-check'),
            }

    becado = EstudiantesNominaAdminSelect(
        label = 'Beneficiario',
        widget = AutoHeavySelect2Widget(select2_options={'width':'220px', 'minimumInputLength': 5})
        )


class NominaAdminForm(forms.ModelForm):
    class Meta:
    model = Nomina

    fields = [
            'tipo',
            'beneficio',
            'carrera_sedes',
            'pago',
            ]

    widgets = {
        'tipo': Select2Widget(select2_options={'width': '300px'}),
        'pago': EnclosedInput(append='icon-pencil'),
    }  
class NominaInline(SortableTabularInline):
    form = EstudianteNominaInlineForm
    model = EstudianteNomina
    extra=1
    sortable = 'becado'
    verbose_name_plural = 'Estudiantes en nomina'

class NominaAdmin(SortableModelAdmin):
form = NominaAdminForm
inlines = (NominaInline,)

def suit_row_attributes(self, obj, request):

    css_class = {
        True: 'success',
        False: 'error',
    }.get(int(obj.activa))
    if css_class:
        return {'class': css_class}

search_fields=['tipo', 'fecha']
list_filter=['tipo', 'fecha']
list_display=['id','get_carrera','Tipo', 'fecha', 'Pago', 'activa']
exclude = ['beneficio','carrera_sedes']
actions = [CerrarNominas, Normal, Especial, GeneraAbonos, GeneraAbonosN, GeneraTarjetas, GeneraAbonosE, GeneraAbonosEN]


def get_carrera(self, obj):
    if  obj.carrera_sedes.all().count() == 0:
        return u'NO EXISTEN CARRERAS ASOCIADAS'
    else:
        carreras =''
        for carrera in obj.carrera_sedes.all():
            carreras += '  {'+str(carrera.carreras.codigo_interno)+' - '+str(carrera.carreras.nombre)+'}  '
        return carreras 
get_carrera.short_description = 'carreras'


def Tipo(self,obj):
    if obj.tipo=='0':
        return "NORMAL"
    else:
        return "ESPECIAL"
Tipo.short_description = 'nominas disponibles'

def Pago(self,obj):
    if obj.pago==None:
        return '400'
    else:
        return obj.pago
Pago.short_description = 'Pago'
admin.site.register(Nomina, NominaAdmin)

你能描述一下到底是什么失败了吗?@icedtrees请看,下面是我的表单的屏幕截图,带有内联线,但在此表单中,“添加另一个”按钮不起作用: