在基于类的详细信息视图中使用不同应用程序中的模型访问大量数据

时间:2019-06-28 20:01:38

标签: python django django-templates django-related-manager

我有两个通过ManyToMany关系关联的模型,但它们位于单独的应用程序中。我正在尝试加载一个模型的详细信息,然后在模板中添加manytomany字段,但是常规方法不起作用。到目前为止,这是我的代码:

models.py(列表应用)

from listing_admin_data.models import PropertyFeatures


class Property(models.Model):
    ....
    property_features = models.ManyToManyField(PropertyFeatures)
    ....

models.py(listing_admin_data应用)

class PropertyFeatures(models.Model):
    ....
    feature_name = models.CharField(max_length=50)
    ....

views.py

class PropertyDetailView(DetailView):
    model = Property
    context_object_name = 'property'

然后在模板中,我尝试执行此操作,但列表为空,但是我有数据。

<h3>Property Features</h3>
<ul class="amenities-list">
    {% for feature in property.property_features.all %}
        <li>{{ feature.feature_name }}</li>
        {% empty %}
        <li>Property has no features!</li>
    {% endfor %}
</ul>

我特意尝试了此操作:<p>{{ property.property_features }}</p> 加载后,我得到:listing_admin_data.PropertyFeatures.None在浏览器上。 与加载的对象直接相关的其他字段也可以正常工作,例如{{ property.price }},而来自ForeignKey的字段也可以正常工作,即{{ property.listing.listing_title }}。应用程序间模型关系在Django中是用相同的方式处理还是有特殊处理?

0 个答案:

没有答案