我有两个模型,
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 对象中 Logo 的路径填充 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)
关于python - 将 ImageField url 与 django 中的另一个对象关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53200648/