Можно ли использовать ImageFields из других моделей через наследование? (django)
У меня есть две модели с полями imageFields, и я хочу иметь там одинаковые изображения, чтобы отображать их на странице администратора... Мои две модели:
class Produkt(models.Model):
STATUS_CHOICES = (
('draft', 'offline'),
('published', 'online'),
)
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250, unique_for_date='publish')
image = models.ImageField(upload_to='images', height_field=None, width_field=None, null=True)
price = models.DecimalField(max_digits=10, decimal_places=2, default=0.00)
publish = models.DateTimeField(default=timezone.now)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='published')
class Meta:
ordering = ('-publish',)
def __str__(self):
return self.title
objects = models.Manager()
published = PublishedManager()
def get_absolute_url(self):
return reverse('app:produkt_detail', args=[self.publish.year, self.publish.month, self.publish.day, self.slug])
tags = TaggableManager()
class Bestellung(models.Model):
def two_week_hence():
return timezone.now() + timezone.timedelta(weeks=2)
produkt = models.ForeignKey(Produkt, on_delete=models.CASCADE, related_name='bestellung')
def get_image(self):
return self.produkt.image
versand_bis = models.DateTimeField(default=two_week_hence)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
active = models.BooleanField(default=True)
class Meta:
ordering = ('created',)
def __str__(self):
return f'hat Produkt {self.produkt} bestellt'
и мой admin.py выглядит следующим образом:
@admin.register(Produkt)
class ProduktAdmin(admin.ModelAdmin):
def image_tag(self, obj):
return format_html('<img height="100" src="{}" />'.format(obj.image.url))
image_tag.short_description = 'Image'
list_display = ('title', 'image_tag', 'image', 'kategorie', 'price', 'publish', 'status')
list_filter = ('created', 'publish', 'status', 'price',)
search_fields = ('title',)
prepopulated_fields = {'slug': ('title',)}
date_hierarchy = 'publish'
@admin.register(Bestellung)
class BestellungAdmin(admin.ModelAdmin):
def image_tag(self, obj):
return format_html('<img height="100" src="{}" />'.format(obj.get_image.url))
image_tag.short_description = 'Image'
list_display = ('produkt', 'image_tag', 'versand_bis', 'created', 'active')
list_filter = ('active', 'versand_bis', 'created', 'updated')
raw_id_fields = ('produkt',)
ordering = ('versand_bis',)
но проблема в том, что когда я пытаюсь сохранить "Bestellung" на странице администратора, я получаю следующую ошибку: AttributeError У объекта 'function' нет атрибута 'url'
Я новичок в django... :)