我有
class Cab(models.Model):
    name  = models.CharField( max_length=20 )
    descr = models.CharField( max_length=2000 )
class Cab_Admin(admin.ModelAdmin):
    ordering     = ('name',)
    list_display = ('name','descr', )
    # what to write here to make descr using TextArea?
admin.site.register( Cab, Cab_Admin )
如何在管理界面中将TextArea小部件分配给'descr'字段?
UPD:
 
在管理员唯一接口!
使用ModelForm的好主意.
在admin中我想在修改对象时禁用一个字段,但在添加新对象时需要它.
什么是django的方式来解决这个问题?
如何在管理界面中将模型完全只读?这是一种日志表,我使用管理功能进行搜索,排序,过滤等,但不需要修改日志.
如果这看起来像重复,这不是我想要做的:
假设我的models.py是这样的:
class Character(models.Model):
    name = models.CharField(max_length=255)
    is_the_chosen_one = models.BooleanField()
我只想要我的一个Character实例is_the_chosen_one == True和其他所有实例is_the_chosen_one == False.如何才能最好地确保这种唯一性约束得到尊重?
考虑到尊重数据库,模型和(管理员)表单级别约束的重要性的答案的最高分!
在注册模型出现的管理站点的根页面上,我想隐藏几个注册到Django管理员的模型.
如果我直接取消注册,我无法添加新记录,因为添加新符号"+"消失.
如何才能做到这一点 ?
为什么我的"日期"字段没有出现在管理系统中?
在我的admin.py文件中
from django.contrib import admin
from glasses.players.models import *
admin.site.register(Rating)
而评级模型有一个名为"日期"的字段,如下所示
date = models.DateTimeField(editable=True, auto_now_add=True)
但是在管理系统中,即使editable设置为,该字段也不会显示True.
有谁有想法吗?
如何向django admin(显示在模型仪表板右侧的过滤器)添加自定义过滤器?我知道很容易包含一个基于该模型字段的过滤器,但是这样的"计算"字段呢:
class NewsItem(models.Model):
    headline = models.CharField(max_length=4096, blank=False)
    byline_1 = models.CharField(max_length=4096, blank=True)
    dateline = models.DateTimeField(help_text=_("date/time that appears on article"))
    body_copy = models.TextField(blank=False)
    when_to_publish = models.DateTimeField(verbose_name="When to publish",  blank=True, null=True)
    # HOW CAN I HAVE "is_live" as part of the admin filter?  It's a calculated state!!
    def is_live(self):
        if self.when_to_publish is not None:
            if ( self.when_to_publish < datetime.now() ):
                return """ <img alt="True" src="/media/img/admin/icon-yes.gif"/> """
        else:
            return """ <img alt="False" src="/media/img/admin/icon-no.gif"/> """      
    is_live.allow_tags = True
class NewsItemAdmin(admin.ModelAdmin):
    form = NewsItemAdminForm
    list_display …扩展Django的默认用户 如果您对Django的用户模型完全满意并且只想添加一些其他配置文件信息,您可以简单地子类化
django.contrib.auth.models.AbstractUser并添加自定义配置文件字段.此类提供默认用户的完整实现作为抽象模型.
说完了.我创建了一个如下所示的新模型:
class MyUser(AbstractUser):
  some_extra_data = models.CharField(max_length=100, blank=True)
这显示在管理员中几乎像Django的标准User.但是,admin中最重要的区别是密码 - (重新)设置字段不存在,而是显示正常的CharField.我是否真的必须覆盖admin-config中的内容才能使其正常工作?如果是这样,我怎么能以某种干燥的方式做到这一点(即没有从Django源中复制东西......等等......)?
django django-models django-admin django-authentication django-custom-user
如何在django admin中添加表单字段的提示,如下例所示?

(此处:URL和内容描述在字段下以灰色显示)
class PurchaseOrder(models.Model):
    product = models.ManyToManyField('Product')
    vendor = models.ForeignKey('VendorProfile')
    dollar_amount = models.FloatField(verbose_name='Price')
class Product(models.Model):
   products = models.CharField(max_length=256)
   def __unicode__(self):
       return self.products
我有那个代码.不幸的是,错误来自admin.py中ManyToManyField
class PurchaseOrderAdmin(admin.ModelAdmin):
    fields = ['product', 'dollar_amount']
    list_display = ('product', 'vendor')
错误说:
'PurchaseOrderAdmin.list_display [0]','product'是不受支持的ManyToManyField.
然而,当我把它编译'product'出来的list_display.那么如何'product'在list_display不给出错误的情况下显示呢?
编辑:也许一个更好的问题是你如何显示ManyToManyField的list_display?