Django и sqlite аутентификация по электронной почте - PullRequest
0 голосов
/ 15 октября 2011

Я хотел создать пользовательскую модель django с аутентификацией электронной почты, и я в основном следовал шагам на этом сайте: http://www.micahcarrick.com/django-email-authentication.html А также включил код изменения таблицы в функцию post_syncdb в модуле managmenet, чтобы создать электронное письмоуникальный идентификатор.Это должно работать нормально с MySql.НО, это не будет работать для sqlite.Это потому, что изменение таблицы sqlite ограничено и не позволит вам изменить этот атрибут ИЛИ даже добавить столбец с уникальным идентификатором.

Если не существует элегантного способа сделать это, возможно, мне придется переключиться на MySql.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2012

Я думаю, в вашем хуке post_syncdb вы можете добавить:

cursor.execute(
    "CREATE UNIQUE INDEX IF NOT EXISTS auth_user_email_unique "
    "ON auth_user (email COLLATE NOCASE);"
)

возможно, вам придется разбивать различные блоки на основе settings.DATABASES['default']['ENGINE']

0 голосов
/ 15 октября 2011

http://www.sqlite.org/faq.html#q26

Итак, UNIQUE полностью поддерживается, но вы не можете изменить таблицу, используя UNIQUE.Поэтому выведите таблицу в новую таблицу с ограничением UNIQUE, затем измените и переименуйте таблицы.Или просто дамп, измените дамп и повторно импортируйте его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...