Форум сайта python.su
Столкнулся с тем что нужно связать две модели связью “многие-ко-многим”.
...
from django.contrib.auth.models import User
class projects(models.Model):
name_proj = models.CharField(max_length=255)
mkey_user = models.ManyToManyField(User)
....
....
form = AddProjectForm(request.POST)
if form.is_valid():
project = projects(name_proj = form.cleaned_data['name_proj']).save()
...
project.mkey_user.add(form.cleaned_data['mkey_user']).save()
Офлайн
А вы документацию читать пробовали, или на кофейной гуще гадаете?
Офлайн
Daevaorn
Прочитал.
Сделал так:
projects.mkey_user.add(form.cleaned_data['mkey_user'])
Exception Value:
Manager must be accessed via instance
Офлайн
projects.mkey_user.add(form.cleaned_data['mkey_user'])
Отредактировано (Сен. 11, 2008 20:23:49)
Офлайн
Ferroman
Я сделал так:
a1 = User.objects.get(id=request.POST['mkey_user'])
projects.mkey_user.add(a1)
Офлайн
Это потому что projects - это сам класс модели, а не объект класса.
You cannot access a reverse ForeignKey Manager from the class; it must be accessed from an instance.
Офлайн
Ferroman
Daevaorn
Работает.
Черт… Аж стыдно за тему.
Офлайн
Бывает.
Офлайн
securelordПравильное именование сущностей почти искусство.
Работает.
Черт… Аж стыдно за тему.
Офлайн