【发布时间】:2019-09-14 10:30:06
【问题描述】:
我将django-model-utils 用于继承管理器。我想用一本字典获得两个子类的结果,而不会重复。
models.py
>class Images(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='images_created', on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True, null=True, blank=True)
objects = InheritanceManager()
class Postimg(Images):
user_img= models.ImageField(upload_to='images/%Y/%m/%d', null=True, blank=True)
class Postsms(Images):
user_message = models.CharField(max_length=500,blank=True)
views.py
>def home(request):
all_post = Images.objects.all().order_by('-created').select_subclasses()
return render(request, 'copybook/home.html',{ 'all_post':all_post})
copybook/home.html
{% for foo in all_post %}
<hr>
<br> SMS by: <p>{{ foo.user}} __ {{ foo.created }}</p>
<h2>{{ foo.user_message }}</h2>
<hr>
<br> IMAGE by: <p>{{ foo.user}} __ {{ foo.created }}</p>
<img src="{{ foo.user_img.url }}"width="250">
{% endfor %}
当我上传应该在主页顶部的图像或消息时,我期望结果,但现在当我上传图像时,也会重复出现空白消息。
我认为问题出在我的 home.html 中,因为我不知道如何迭代 使用单个 for 循环超过两个子类而不会重复。
【问题讨论】:
标签: django django-models django-views django-templates