我有两个通过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中是用相同的方式处理还是有特殊处理?