Форум сайта python.su
Всем привет.
Я хочу вывести на экран все связи конкретного файла. Т.е. что вот этот файл связан с этим и этим модулем, которые связаны с этим Part (см ниже)
Есть модель:
class Part(models.Model):
title = models.CharField(max_length=50)
class Module(models.Model):
title = models.CharField(max_length=50)
courses = models.ManyToManyField(Part)
class File(models.Model):
title = models.CharField(max_length=50)
file = models.FileField(upload_to='content_load')
timestamp = models.DateTimeField(auto_now_add=True, blank=True)
modules = models.ManyToManyField(Module)
from django.views.generic.list_detail import object_list, object_detail
from my_proj.models import File, Module, Part
create_info_file = {'model': File}
display_info_file = {'queryset': File.objects.all().select_related()}
urlpatterns = patterns('', url(r'^search/file_search/(?P<object_id>\d+)/$', object_detail, display_info_file),)
{% block content %}
<h1>{{ object }}</h1>
<p>Uploadvideo date: {{ object.timestamp|date:"l, F jS" }}</p>
<pre>{{ object.modules }}</pre>
{% endblock %}
<django.db.models.fields.related.ManyRelatedManager object at 0x032E1B50>
Офлайн
{% for module in object.modules %}
{{ module }}
{% endfor %}
Офлайн
Ferroman
Спасибо
Уже сделал, почти так же:
{% for file in object.modules.all %}
<ul>
<li>{{ file}}</li>
</ul>
{% endfor %}
Офлайн
Именно. Только делать выборку в урлах как-то не по-MVC-шному. Я бы сделал метод в модели типа get_modules.
Да и называть модель File то же черевато.
Офлайн
Ferroman
Не подскажите, а как глибину задать? Просто в моей модели File ссылается на Module, а вот этот конкретный модуль на Part. Как бы за один присест вывести и все модули к которым относится файл и все Part к которым относится найденный модуль (а значит и тот же файл имеет отношение к этой Part)?
Офлайн
За один присест - никак.
Хотя мне трудно рассуждать о правильности модели вообще - я же не знаю какую предметную область вы так выражете.
Офлайн