我正在尝试在 Django 中创建我的对象时自动生成一个 slug。
我的方法是使用pre_save
信号,使用@receiver
调用。
当我在我的 Django 管理员中创建一个新条目时,我得到'LogEntry' object has no attribute 'title'
.
我制作了一个如下所示的管理模型:
class CountryAdmin(admin.ModelAdmin):
fields = ('title', 'is_visible')
我的 Country 对象有以下model.py
代码:
class Country(models.Model):
title = models.CharField(max_length=200)
alias = models.SlugField(max_length=200)
is_visible = models.BooleanField(default=False)
def __str__(self):
return self.title
@staticmethod
def get_all():
return Country.objects.filter(is_visible = True).order_by('title')
@receiver(pre_save)
def country_presave_callback(sender, instance, *args, **kwargs):
instance.alias = slugify(instance.title)
我将如何修改我的代码,以便在创建对象时始终自动创建 slug?