
Украшение топа
В дешевых магазинах, а также на распродажах летней одежды можно встретить множество простейших футболок, которые в первозданном виде стыдно носить стильным девушкам. Мы предлагаем украсить футболку, сделав из ненужной вещи очень модный топ.
Документация South — Перевод. Часть 2. Более сложные изменения схемы
Теперь, когда мы знаем как обслуживать простые изменения модели, давайте посмотрим на более сложные случаи, которые Вы так же можете обработать при помощи South.
Значение по умолчанию
from django.db import models
class Knight(models.Model):
name = models.CharField(max_length=100)
of_the_round_table = models.BooleanField()
dances_whenever_able = models.BooleanField()
shrubberies = models.IntegerField(null=False)
./manage.py schemamigration southtut --auto
? The field 'Knight.shrubberies' does not have a default specified, yet is NOT NULL.
? Since you are adding or removing this field, you MUST specify a default
? value to use for existing rows. Would you like to:
? 1. Quit now, and add a default to the field in models.py
? 2. Specify a one-off value to use for existing columns now
? Please select a choice:
? Please select a choice: 2
? Please enter Python code for your one-off default value.
? The datetime module is available, so you can do e.g. datetime.date.today()
>>> 0
+ Added field shrubberies on southtut.Knight
Created 0003_auto__add_field_knight_shrubberies.py. You can now apply this migration with: ./manage.py migrate southtut
$ ./manage.py migrate southtut
Running migrations for southtut:
- Migrating forwards to 0003_auto__add_field_knight_shrubberies.
> southtut:0003_auto__add_field_knight_shrubberies
- Loading initial data for southtut.
Уникальные значения
from django.db import models
class Knight(models.Model):
name = models.CharField(max_length=100, unique=True)
of_the_round_table = models.BooleanField()
dances_whenever_able = models.BooleanField()
shrubberies = models.IntegerField(null=False)
$ ./manage.py schemamigration --auto southtut
+ Added unique constraint for ['name'] on southtut.Knight
Created 0004_auto__add_unique_knight_name.py. You can now apply this migration with: ./manage.py migrate southtut
$ ./manage.py migrate southtut
Running migrations for southtut:
- Migrating forwards to 0004_auto__add_unique_knight_name.
> southtut:0004_auto__add_unique_knight_name
- Loading initial data for southtut.
Поля ManyToMany
Пользовательские поля
Ещё?
Автор: Ishayahu Lastov
Документация South — Перевод. Установка
- Используя easy_install или pip, что рекомендуется, если Вы хотите получить стабильный релиз
- Используя Mercurial, что рекомендуется если Вы хотите получить самый последний релиз
- Скачав архив, если у Вас нет ни easy_install, ни Mercurial
South <=0.7.3 должен работать с версиями Django от 0.97-pre до 1.1
South >=0.7.4 должен работать с версиями Django начиная от версии 1.2
Пожалуйста, проверьте совместимость с вашей версией в заметках о релизе, чтобы быть в курсе последних изменений.
Установка при помощи easy_install
Установка при помощи Mercurial
Использование скачиваемого архива
Установка из папки
Настройка Django
ngs.py, добавив 'south' в конец раздела INSATALLED_APPS.
Автор: Ishayahu Lastov
Резные наличники на окна
В начале XIX в. появилось новое направление в зодчестве, позднее названное «русским барокко». Фасады домов и окна стали украшаться затейливой резьбой. Такая резьба выполнялась с помощью ножа и топора и состояла из треугольных и прямоугольных зубцов, квадратиков, ромбов, кружочков, трапеций. Позднее появились растительные орнаменты и орнаменты, символизирующие Солнце.
Пропильная резьба появилась во второй половине XIX в. и достигла расцвета в первой четверти 20 в. Резьбой украшались не только наличники, но и причелины и фризы. В деревянной резьбе использовались растительные, геометрические и зооморфные мотивы. В начале 20 в. ажурное обрамление крыльца, резные наличники на окна становились чуть ли не обязательным атрибутом деревянного дома. С переходом на индустриальное домостроение во времена развитого социализма украшать дом резьбой считалось чуть ли не пережитком мещанской культуры. В то время стояла задача обеспечить народ хотя бы каким-нибудь жильем. Внешняя красота дома отошла на второй план.

