переменная не может быть выражением - расширение пользовательской модели в django - PullRequest
0 голосов
/ 21 декабря 2010

Я понимаю, что есть намного более изящные способы сделать это, и я доберусь до этого, но это всего лишь взлом, пытаясь заставить все это работать в первую очередь. Я получил эту ошибку:

SyntaxError at /accounts/profile/foobar/
Ключевое слово не может быть выражением (views.py, строка 104)

и вот соответствующая строка. Примечание. Ключевое слово - это строка, которую я передаю в URL и использую ее для поиска пользователя.

user = User.objects.get(username=keyword)
up = UserProfile(user=user.id,
                 fullname=result['fullname'],
                 email=result['email'],
                 phone=result['phone'],
                 title=result['title'],
                 department=result['department'],
                 office=result['office'])

Не правильно ли я сопоставил объект UserProfile с объектом User? Как правильно добавить внешний ключ - просто передать сам объект? Проницательность и мудрость приветствуются.

1 Ответ

4 голосов
/ 21 декабря 2010

Легко дублируется:

>>> def foo(**kwargs):
...   return None
... 
>>> foo(a.b=1)
  File "<stdin>", line 1
SyntaxError: keyword can't be an expression

Сообщение об ошибке немного загадочно - где ключевое слово? Я подозреваю, что это связано с '.' являющийся синтаксисом для getattr.

...