我有两个模型,
class Core:
def logo_path(instance, filename):
pattern = re.compile(r'\s+')
filename = re.sub(pattern, '', filename)
return 'images/core/logos/core_{0}/{1}'.format(instance.pk, filename)
name = models.CharField(db_index=True, max_length=255)
logo = models.ImageField(upload_to=logo_path, blank=True, null=True)
和
class CoreRoom(Room):
core = models.ForeignKey(Core, on_delete=models.CASCADE, null=True)
logo_url = models.CharField(max_length=1024, null=True)
我想用 Core 对象中徽标的路径填充 CoreRoom 对象中的 logo_url。我该怎么做呢?
我怀疑这是需要的,因为 . 您始终可以使用 访问它my_core_room.core.logo.url
,但最简单的方法是覆盖模型的.save()
方法CoreRoom
:
class CoreRoom(Room):
...
def save(self, *args, **kwargs):
self.logo_url = self.core.logo.url
super(CoreRoom, self).save(*args, **kwargs)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句