Skip to main content
 首页 » 编程设计

python之指向函数不工作的 Django 模型变量

2025年05月04日14webabcd

我有以下内容:

class College(models.Model): 
    url_name = create_url_name() 
    def create_url_name(self): 
        return self.name.lower().replace("the", "").strip().replace(" ", "_") 

但是当我运行它时出现以下错误:

NameError: name 'create_url_name' is not defined 

我所做的只是调用我创建的函数,为什么它不起作用?

请您参考如下方法:

如果你想要一个 slug 作为你的 url,你可以像这样使用“SlugField”:

from django.utils.text import slugify 
 
class College(models.Model): 
    name = models.CharField(unique=True, max_length=100) 
    url_name = models.SlugField(unique=True) 
 
    def save(self, *args, **kwargs): 
        self.url_name = slugify(self.name) 
        super(College, self).save(*args, **kwargs) 

您也可以在代码中使用相同的方法:

class College(models.Model): 
    name = models.CharField(unique=True, max_length=100) 
    url_name = models.SlugField(unique=True) 
 
    def save(self, *args, **kwargs): 
        self.url_name = self.name.lower().replace("the", "").strip().replace(" ", "_") 
        super(College, self).save(*args, **kwargs)