2
我正在爲小型Sales CRM應用程序創建警報/通知系統。 我有一個Lead_Contact模型,用於存儲客戶的姓名,地址等,以及一個Contact_Notifier模型,用於跟蹤客戶第一次聯繫的時間,最後一次聯繫以及何時我們要接下來聯繫他們。在Django模板中顯示反向多對多
僅供參考,這裏是該機型的相關片段:
class Lead_Contact(models.Model):
first_contacted = models.ManyToManyField('Contact_Notifier', related_name='first_contact', null=True,blank=True)
last_contacted = models.ManyToManyField('Contact_Notifier', related_name='last_contact', null=True,blank=True)
next_contacted = models.ManyToManyField('Contact_Notifier', related_name='next_contact', null=True,blank=True)
和
class Contact_Notifier(models.Model):
WHEN_CHOICES = (
('F', 'First'),
('L', 'Last'),
('N', 'Next'),
)
when_contact = models.CharField(max_length=1, choices=WHEN_CHOICES)
contact_date = models.DateField(blank = True, null=True)
contact_time = models.TimeField(blank = True, null=True)
contact_message = models.TextField(blank=True)
is_finished = models.BooleanField(default=False)
我已經創建了一個基本過濾Contact_Notifier顯示所有我對next_contacted對象的視圖功能CRM應用的個人用戶,例如:
def urgent_notifier(request, template_name='urgent_results.html'):
error = ""
selected_user = user_filter(request)
results=Contact_Notifier.objects.filter(Q(user=selected_user) | Q(user="AU")).filter(when_contact = 'N').filter(contact_date__lte=datetime.date.today())
return render_to_response(template_name, {'issues': results, 'error': error})
現在在我的模板中,我正在顯示我的查詢集,但在嘗試顯示Lead_Contact模型中的字段時遇到了問題;我已經閱讀了Django書籍和Django Project文檔,但我似乎無法讓反向關係顯示工作!下面是相關的模板代碼:
{% if issues %}
{% for issue in issues %}
<form action="/results/{{issue.id}}/normalize/" method="post">
<input type="submit" value="remove" /><b>Contact Time:</b> {{issue.contact_date}} <b> at </b> {{issue.contact_time}} <b>via</b> {{issue.get_contact_type_display}} <br>
<!-- Here is where my problems start -->
{% for item in issue.lead_contact_set.all %}
{{ item.salutation }} <a href="../results/{{issue.pk}}/"> {{ item.first_name }} {{ item.last_name }} </a> <b> Phone:</b> {{ item.phone_1 }} {{ issue.phone_2 }} <b>email:</b> {{item.email}} <br>
{% endfor %}
</form>
{% endfor %}
{% endif %}
我還使用相關名稱這樣的嘗試:
{% for item in issue.next_contact.all %}
我在做什麼錯?
謝謝!事實證明,問題不是我的for循環 - 嵌套在{{issue.phone_2}}中,導致模板無法正常工作。我想有些事情只是需要通過錯誤來學習:/ – DonnyBrook 2010-09-22 18:41:44