Skip to main content
 首页 » 编程设计

python之Slug 太短了之Django

2025年05月04日31think

这是我的 models.py 文件中的一段代码:

GENRE_CHOICES = ( 
             ('R', 'Rock'), 
             ('B', 'Blues'), 
             ('J', 'Jazz'), 
             ('P', 'Pop'),  
             ('H', 'Hip-Hop'),     
             ) 
 
class Genre(models.Model): 
  genre_choices = models.CharField(max_length=1, choices=GENRE_CHOICES) 
  slug = models.SlugField(max_length = 100, unique = True) 

admin.py 像这样预填充 slug:

class GenreAdmin(admin.ModelAdmin): 
  prepopulated_fields = {"slug": ("genre_choices",)} 

在管理站点中,我注意到 slug 只填充到第一个字母。例如,对于摇滚,只选择了 R。我如何选择元组的另一部分,即 Rock?

请您参考如下方法:

很简单,将您的 GENRE_CHOICES 字典更改为如下内容:

 ('rock', 'Rock'), 
 ('hip-hop', 'Hip-Hop'), 

等等等等