私はこれをWindows7のPython2.7.2とDjango1.4.1で実行しています。
sqliteデータベースにいくつかのレコードがあり、ジェネリッククラスビューのListViewを使用してそれらを表示しようとしています。私はそれが不可能だったものを排除し、すべてを可能な限り単純な形式に取り除いたが、それが何であるかを理解するためにどこに行けばよいかわからない。
モデル:
class DMG_New_Inv (models.Model): # DMG's
def __init__(self, *args, **kwargs):
super(DMG_New_Inv, self).__init__(*args, **kwargs)
self.objects = None
model_num = models.ForeignKey(DMG_Models_Default, verbose_name='Model')
serial_num = models.CharField(max_length=25, verbose_name='Serial Number')
date_in = models.DateField(auto_now_add=True) #this will set the date to the creation date automaticly
date_out = models.DateField(blank=True, null=True) # the date is was removed from inventory
status = models.CharField(max_length=2, verbose_name='Asset Status', choices=DMG_ASSET_STATUS) # see list above
company = models.CharField(max_length=50, verbose_name='Company', blank=True, null=True) # the company or person who received the product
notes = models.CharField(max_length=255, verbose_name='Notes', blank=True, null=True)
pass
class Meta:
verbose_name = 'DMG'
verbose_name_plural = 'DMGs'
意見:
from django.views.generic import list
from django.views.generic import ListView
from django.shortcuts import get_object_or_404
from inventory.models import DMG_New_Inv
class dmg_new_status(ListView):
context_object_name = "dmg_new_status"
template_name = 'inventory/dmg_inv.html'
def get_queryset(self):
status = get_object_or_404(DMG_New_Inv, status__iexact=self.args[0])
return DMG_New_Inv.objects.filter(status__iexact=status)
コンテンツ:
{% block content %}
<div id="content">
<table cellspacing="3" cellpadding="3">
<tr align="center">
<th>Model</th><th>Serial Number</th><th>Date In</th><th>Date Out</th><th>Status</th><th>Company</th><th>Notes</th>
</tr>
{% for dmg in dmg_new_status %}
<tr align="center">
<td>{{ dmg.model_num }}</td>
<td>{{ dmg.serial_num }}</td>
<td>{{ dmg.date_in }}</td>
<td>{{ dmg.date_out }}</td>
<td>{{ dmg.status }}</td>
<td> {{ dmg.company }}</td>
<td> {{ dmg.notes }}</td>
</tr>
{% empty %}
No DMG's in this list
{% endfor %}
</table>
{%エンドブロック%}
URL:
(r'^inventory/dmg/(\w+)/$', dmg_new_status.as_view()), #status page
空のオプションを追加し、テーブルヘッダーは表示されますが、レコードは表示されないため、パスの問題ではないと確信しています。推測する必要があり、推測している場合、何も返さないため、配列は空になります。これをさらにトラブルシューティングする方法がわかりません。コンソールを開いてすべてをインポートし、query_set関数をそのように実行しても何も得られなかったので、エラーがそこにあると思います。
ありがとう