【发布时间】:2020-02-22 23:19:09
【问题描述】:
我有一个模型,名称是文章,每篇文章都有一个标题。 我想通过管理员创建一篇新文章,但我遇到了只是标题字段突然被禁用并且我无法输入标题。我的文章模型如下:
class Article(models.Model):
title=models.CharField(max_length=100)
body=models.TextField()
view=models.IntegerField(default=0)
created_at=models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now = True)
published_at = models.DateTimeField(default=timezone.now)
show=models.BooleanField( default=1)
def __str__(self):
return self.title
user = models.ForeignKey(User,on_delete=models.SET_NULL, null = True)
categories = models.ManyToManyField(Category)
class Meta:
permissions=(
('private_section_article','Private Section Article'),
)
和这个模型对应的admin文件是:
@admin.register(Article)
class ArticleAdmin(ModelAdminJalaliMixin,admin.ModelAdmin):
def published_fa(self,model):
return datetime2jalali(model.published_at).strftime('%y/%m/%d _ %H:%M:%S')
list_display=('title','view','published_fa','created_at','updated_at','show')
list_display_links=('published_fa',)
search_fields = ['title','body','created_at']
list_filter=('published_at','title')
date_hierarchy='updated_at'
ordering=['-created_at']
readonly_fields = ('title',)
actions=['make_hide','make_show']
fieldsets = (
(None, {
"fields": (
'title','categories','body','published_at'
),
}),
('Advanced Options',{
'classes':('wide', 'extrapretty','collapse'),
'fields':('view','show','user')
})
)
def make_hide(self,request,queryset):
row_updated = queryset.update(show=0)
message='1 article was'
if row_updated is not 1:
message="%s articles were" % row_updated
self.message_user(request,"%s marked as hide" % message)# to show a message after this action have done
make_hide.short_description='make selected articles as hide'
def make_show(self , request , queryset):
row_updated = queryset.update(show = 1)
message='1 article was'
if row_updated is not 1:
message="%s articles were" % row_updated
self.message_user(request,"%s marked as show" % message)# to show a message after this action have done
make_show.short_description = "Make selected articles as show"
现在,当我选择之前创建的一篇文章时,管理面板没有给我输入来更改它,当我想创建一篇新文章时,我不能只为标题字段输入任何内容,因为没有输入或 textFiled 之类的东西。 帮助我知道为什么会这样。
这是来自管理面板的屏幕截图,它只禁用了标题字段 the screenshot of admin page to edit a title
【问题讨论】:
标签: django python-3.x django-models django-templates