CSS не может быть религией, но это - как браузеры интерпретируют HTML для расположения. Нравится или нет, все современное использование браузеров (некоторая версия) модели поля W3C. Продолжать полагаться на таблицы, продолжают полагаться на методологию, которая является просто неправильной в глазах людей, которые разрабатывают веб-технологию рендеринга.
я знаю, что CSS может казаться ужасно сложным время от времени, но я полагаю, что это - необходимость в этот день, и возраст (доверяйте мне, Ваши клиенты собираются хотеть его).
, Если Вы не чувствуете себя комфортно, не торопясь действительно, изучают CSS (таким образом, Вам требуются секунды или минуты для расположения элементов... не час), тогда необходимо передать разметку кому-то, кто знает, действительно знает фронтенд.
Да, существует много проблем с текущими реализациями браузера CSS, но ничто столь решительное, что необходимо когда-либо чувствовать потребность возвратиться к основанному на таблице расположению. Просто сядьте и не торопитесь, чтобы узнать, что это, как Вы было бы любой другой язык или платформа.
лучший ссылочный ресурс онлайн, который я нашел, является этим: http://reference.sitepoint.com/css
, Но не могло бы повредить смотреть на книгу как Разработка С веб-стандартами , который имеет большое значение в помощи Вам понять, почему этот материал важен.
Я рекомендую вам проверить раздел «ДОПОЛНИТЕЛЬНЫЕ ПОЛЯ ДЛЯ МНОГИХ ОТНОШЕНИЙ» в документации Django - он отвечает именно на ваш вопрос.
1: да, создание промежуточной модели - лучший способ.
2: Из документации: «В отличие от обычных полей« многие ко многим », вы не можете использовать добавление, создание или назначение для создания отношений "- Вместо этого для добавления исполнителя в задачу сделайте это из промежуточной модели:
some_artist = Artist.objects.get(name='some name')
some_issue = Issue.objects.get(tile='some tite')
IssueArtist.objects.create(artist= some_artist, issue = some_issue, role=1)