简体   繁体   English

如何在django管理面板中编辑字段

[英]How to edit field in django admin panel

I have admin panel in Django 1.8 with my code in admin.py file: 我在Django 1.8中有管理面板,我的代码在admin.py文件中:

Here is part of my model: 这是我的模型的一部分:

TYPES_CHOICES = (
    ('normal', 'normal'),
    ('archive', 'archive'),
)
class Period(models.Model):
    date_start = models.DateTimeField(help_text='date_start')
    date_end = models.DateTimeField(help_text='date_end')
    type = models.CharField(choices=TYPES_CHOICES, default=TYPES_CHOICES[0][0], max_length=10)

class PeriodAdmin(admin.ModelAdmin):
    list_display = ('id', 'date_start', 'date_end', 'description',
                    'note', 'is_published', 'is_actual', 'type', )
    search_fields = ('id', 'note', 'description', 'description_en',)
    fields = ['type', ]

My problem is, how to switch type field in to editable field, to switching field value form model. 我的问题是,如何将类型字段切换到可编辑字段,切换到字段值表单模型。 I can not found this is documentation. 我发现这不是文档。 Please for any hint. 请提出任何提示。

I think you want to editable field on your list 我想你想要列表中的可编辑字段

models.py :
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models

TYPES_CHOICES = (
    ('normal', 'normal'),
    ('archive', 'archive'),
)


class Period(models.Model):
    date_start = models.DateTimeField(help_text='date_start')
    date_end = models.DateTimeField(help_text='date_end')
    period_type = models.CharField(choices=TYPES_CHOICES, default=TYPES_CHOICES[0][0], max_length=10)


admins.py :
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.contrib import admin
from .models import Period


class PeriodAdmin(admin.ModelAdmin):
    list_display = ('id', 'date_start', 'date_end', 'period_type',)
    list_editable = ('date_start', 'date_end', 'period_type', )


admin.site.register(Period, PeriodAdmin)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM