2
我有2種型號,看起來像:獲取/呈現一對多關係的最佳方式是什麼?
class Entry(models.Model):
user = models.ForeignKey(User)
dataname = models.TextField()
datadesc = models.TextField()
timestamp = models.DateTimeField(auto_now=True)
class EntryFile(models.Model):
entry = models.ForeignKey(Entry)
datafile = models.FileField(upload_to="uploads/%Y/%m/%d/%H-%M-%S")
我想渲染所有的相關文件中的條目爲特定用戶。 我現在做這樣的說法在我看來,以獲取值:
entries = Entry.objects.filter(user=request.user).order_by("-timestamp")
files = {}
for entry in entries:
entryfiles = EntryFile.objects.filter(entry=entry)
files[entry] = entryfiles
return render_to_response("index.html", {'user': request.user, 'entries': entries, 'files': files, 'message': message})
但我不能/不知道如何在我的模板,這些數據的工作。這是我現在做的,但不工作:
{% for entry in entries %}
<td>{{ entry.datadesc }}</td>
<td><table>
{{ files.entry }}
{% for file in files.entry %}
<td>{{ file.datafile.name|split:"/"|last }}</td>
<td>{{ file.datafile.size|filesizeformat }}</td>
<td><a href="{{ object.datafile.url }}">download</a></td>
<td><a href="{% url main.views.delete object.id %}">delete</a></td>
{% endfor %}
</table></td>
{% endfor %}
任何人都可以告訴我,如果我考慮這樣做的正確方法,然後如何在模板中訪問這些數據?
謝謝!
它現在偉大的工作。謝謝! – 2009-06-01 05:27:57