Dav*_*542 14 django django-models django-admin
是否可以为实际的Class模型创建详细的名称?
class User(models.Model):
    fname = models.CharField(max_length=50, verbose_name = 'first name')
所以在管理面板中,它的详细名称将引用它而不是'user'?
sol*_*tic 33
class User(models.Model):
    fname = models.CharField(max_length=50, verbose_name = 'first name')
    class Meta:
         verbose_name = "users"
来源:https://docs.djangoproject.com/en/2.1/topics/db/models/#meta-options
hyg*_*ull 12
verbose_name和verbose_name_plural这两个Meta类的属性对于修改 Django 的默认行为以在管理界面上显示我们模型的名称非常重要。
您可以使用verbose_name和verbose_name_plural属性和使用关键字参数verbose_name 的模型字段名称在管理界面上更改模型名称的显示。
请找到以下2 个示例。
国家型号:
class Country(models.Model):
    name = models.CharField(max_length=100, null=False, blank=False, help_text="Your country", verbose_name="name")
    userid = models.ForeignKey(User, on_delete=models.CASCADE)
    def __str__(self):
        return "Country " + str(self.id) + " - " + self.name
    class Meta:
        verbose_name = "Country"
        verbose_name_plural = "Countries"
如果你不指定verbose_name_plural那么Django会以之为国,因为我们希望它看起来并不好国家。
这更适合以下类型的Model。
性别模型:
class Gender(models.Model):
    name = models.CharField(max_length=100, null=False, blank=False, help_text="Gender", verbose_name = "name")
    userid = models.ForeignKey(User, on_delete=models.CASCADE)
    def __str__(self):
        return "Gender " + str(self.id) + " - " + self.name
    class Meta:
        verbose_name = "Gender"
要更改管理模型而不污染模型本身,您可以使用代理管理模型,如下所示:
# admin.py
from . import models
class Users(models.User):
    class Meta:
        proxy = True
class UsersAdmin(admin.ModelAdmin):
    ...
admin.site.register(Users, UsersAdmin)
| 归档时间: | 
 | 
| 查看次数: | 14162 次 | 
| 最近记录: |