Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Python/Django] Проблема с ManyToManyField / 2 сообщений из 2, страница 1 из 1
15.05.2013, 21:42
    #38259224
michaelpak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Python/Django] Проблема с ManyToManyField
models.py
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
from django.db import models
from django.contrib import admin

class User(models.Model):
    name = models.CharField(max_length=64)
    contacts = models.TextField(blank=True)

class Report(models.Model):
	dateTime = models.DateTimeField(auto_now_add = True)
	amount = models.CharField(max_length=30)
	users = models.ManyToManyField(User)


views.py
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
def addTransfer(request):
    amount = request.GET["amount"]
    sender = User.objects.get(id = request.session["id"])
    report = Report(amount = amount, dateTime = datetime.now)
    report.users.add(sender)
    t = loader.get_template("addTransfer.html")
    c = Context({'sender': sender, 'recipient': recipient, 'report': report})
    return HttpResponse(t.render(c))


addTransfer.html
Код: sql
1.
2.
3.
<h2>Отправитель: {{ sender.name }}</h2>
<h3>Сумма: {{ report.amount }}</h3>
<h3>Дата: {{ report.dateTime }}</h3>


Traceback:
File "/home/users2/m/michaelpak/virtualenv/MyEnv/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/home/users2/m/michaelpak/django/cash2friend/vk/views.py" in addTransfer
97. report.users.add(sender)
File "/home/users2/m/michaelpak/virtualenv/MyEnv/lib/python2.7/site-packages/django/db/models/fields/related.py" in __get__
897. through=self.field.rel.through,
File "/home/users2/m/michaelpak/virtualenv/MyEnv/lib/python2.7/site-packages/django/db/models/fields/related.py" in __init__
586. (instance, source_field_name))

Exception Type: ValueError at /addTransfer/
Exception Value: "<Report: Report object>" needs to have a value for field "report" before this many-to-many relationship can be used.
...
Рейтинг: 0 / 0
16.05.2013, 00:43
    #38259409
michaelpak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Python/Django] Проблема с ManyToManyField
Разобрался: перед тем, как использовать отношение многие-к-многим, надо сохранить.
Код: python
1.
2.
report.save()
report.users.add(sender)
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [Python/Django] Проблема с ManyToManyField / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]