zoukankan      html  css  js  c++  java
  • Django---管理界面简单设置

    1、设置可选字段

    为了设置某一个字段是可选的,不如说email,仅仅须要改动其相关的模型,也就是在model.py中改动模型,将email=models.EmailField(blank=True),也就是加入blank=True。

    这句代码告诉Django,同意email字段的输入为空。Django中字段的默认blank=false,即是不同意输入为空。


    note:django在生成sql语句的时候,会默认的在每个字段的后面加入一个NOT NULL的约束。防止产生空字符串和NULL混淆的问题。可是同一时候却引入了新的问题。对于日期类型和数字类型的数据,直接设置blank=true的时候。非常多数据库都会抛出异常。这是由于插入空的字符串和日期类型或者数字类型是不相符的。

    假设真的想为日期或者数字类型的字段插入空的字符串的时候,须要在blank=True,null=True。加入了null=True,相当于更改的数据库的结构,须要改动数据库中的相关的字段。

    能够执行manage.py dbshell命令来改动数据库:

    ALTER TABLE table_name ALTER COLUMN colunm_name DROP NOT NULL;

    2、自己定义字段标签

    加入verbose_name

    note:能够在固定的位置隐式的引用这个字段,直接将它放在第一个參数就可直接引用。

    可是却对于ManyToMany和ForeignKey的字段并不有用,在这种字段中必须显示的引用字段。

    3、自己定义列表

    加入ModelAdmin类,这个类是自己定义管理工具的关键。能够在admin.py中改动。參考例如以下:

    **class AuthorAdmin(admin.ModelAdmin):**
        **list_display = ('first_name', 'last_name', 'email')**
    
    加入搜索框
    class AuthorAdmin(admin.ModelAdmin):
        list_display = ('first_name', 'last_name', 'email')
        **search_fields = ('first_name', 'last_name')**
    这样就能够在界面的上面加入一个模糊搜索框。

    加入过滤器

    **class BookAdmin(admin.ModelAdmin):**
        **list_display = ('title', 'publisher', 'publication_date')**
        **list_filter = ('publication_date',)**
    **admin.site.register(Book, BookAdmin)**


  • 相关阅读:
    C# List<T>用法(转)
    任务列表 (Visual Studio)
    TSQL行转列、列转行
    HRESULT:0x80070057 (E_INVALIDARG)的异常的解决方案(转)
    JS正则表达式详解(转)
    Windows远程登录命令
    JavaScript中的try...catch和异常处理(转)
    javascript如何触发button 的click事件
    在ASP.NET中利JavaScript实现控件的聚焦(转)
    输入一个字符串,将其逆序后输出。(使用C++,不建议用伪码)
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7403576.html
Copyright © 2011-2022 走看看