Django:enlist a user in a group

hdknr@deb09:~/tohyo/tohyo/trunk/tohyo$ python manage.py shell
Python 2.5.2 (r252:60911, Jan  4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.contrib.auth.models import User
>>> u=User.objects.get(username='test30@hdknr.test')
>>> u.groups
<django.db.models.fields.related.ManyRelatedManager object at 0x9fc9c8c>

>>> u.groups.add('member')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/var/lib/python-support/python2.5/django/db/models/fields/related.py", line 384, in add
    self._add_items(self.source_col_name, self.target_col_name, *objs)
  File "/var/lib/python-support/python2.5/django/db/models/fields/related.py", line 455, in _add_items
    [self._pk_val, obj_id])
  File "/var/lib/python-support/python2.5/django/db/backends/util.py", line 19, in execute
    return self.cursor.execute(sql, params)
  File "/var/lib/python-support/python2.5/django/db/backends/mysql/base.py", line 83, in execute
    return self.cursor.execute(query, args)
  File "/var/lib/python-support/python2.5/MySQLdb/cursors.py", line 168, in execute
    if not self._defer_warnings: self._warning_check()
  File "/var/lib/python-support/python2.5/MySQLdb/cursors.py", line 82, in _warning_check
    warn(w[-1], self.Warning, 3)
  File "/usr/lib/python2.5/warnings.py", line 62, in warn
    globals)
  File "/usr/lib/python2.5/warnings.py", line 102, in warn_explicit
    raise message
Warning: Incorrect integer value: 'member' for column 'group_id' at row 1

>>> from django.contrib.auth.models import *
>>> dir()
['AnonymousUser', 'ContentType', 'EmptyManager', 
'Group', 'ImproperlyConfigured', 'Message', 
'Permission', 'SiteProfileNotAvailable', 
'UNUSABLE_PASSWORD', 'User', 'UserManager', 
'__builtins__', 'auth', 'check_password', 
'datetime', 'get_hexdigest', 'models',
'smart_str', 'u', 'urllib']

>>> dir(g)
['DoesNotExist', 'MultipleObjectsReturned', 
'__class__', '__delattr__', '__dict__', '__doc__', 
'__eq__', '__getattribute__', '__hash__', '__init__',
 '__metaclass__', '__module__', '__ne__', '__new__', 
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
 '__str__', '__unicode__', '__weakref__', 
'_collect_sub_objects', '_default_manager',
 '_get_FIELD_display', '_get_next_or_previous_by_FIELD',
 '_get_next_or_previous_in_order', '_get_pk_val', 
'_meta', '_set_pk_val', 'delete', 'id', 'name', 
'objects', 'permissions', 'pk', 'save', 'save_base', 
'user_set']

>>> g=Group.objects.get(name='member')
>>> g
<Group: member>
>>> g.id
1L
>>> u.groups.add(g.id)
>>> u.id
18L

deb09:~# echo "select * from auth_user_groups" | mysql tohyo -t
+----+---------+----------+
| id | user_id | group_id |
+----+---------+----------+
|  2 |       2 |        1 |
|  3 |       3 |        1 |
|  4 |      18 |        0 |
|  5 |      18 |        1 |
+----+---------+----------+

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中