我正在尝试这样做
nvc = models.ForeignKey(Nvc)
slug = AutoSlugField(max_length=50, unique=True, populate_from=('channel_index','nvc__mac_address'))
channel_index = models.IntegerField()
...
其中 nvc 是带有字段 mac_address 的外键,通道索引是本地字段
我的尝试基于 AutoSlugField ( autoslugfield )中显示的与“unique_with”一起使用的内容
# minimum date granularity is shifted from day to month
slug = AutoSlugField(populate_from='title', unique_with='pub_date__month')
但我得到这个错误
'NvcChannel' 对象没有属性 'nvc__mac_address'
有可能做我想做的事吗?如果是这样,我哪里出错了?
我查看了这个问题覆盖保存以执行代码 并想出了这个
def save(self, *args, **kwargs):
if not self.pk:
self.slug = AutoSlugField(max_length=50, unique=True, populate_from=('channel_index',self.nvc.mac_address))
super(NvcChannel, self).save(*args, **kwargs)