def blog_create(**new_blog_data): new_blog = Blog() new_blog.site = new_blog_data['site'].id new_blog.name = new_blog_data['name'] new_blog.description = new_blog_data['description'] new_blog.url = new_blog_data['url'] new_blog.path = new_blog_data['path'] new_blog.local_path = new_blog.path new_blog.theme = new_blog_data['theme'] new_blog.save() new_blog_default_category = Category(blog=new_blog, title="Uncategorized", default=True) new_blog_default_category.save() # template installation should be its own function # install whatever the currently set system default templates are user = user_from_ka(**new_blog_data) logger.info("Blog {} created on site {} by user {}.".format( new_blog.for_log, new_blog.site.for_log, user.for_log)) return new_blog
#** Параметры полей: null - если True, Джанго хранит пустые значения как nuul. blank - если True, полю разрешено быть пустым. db_index - если True, по этому полю будет создан индекс базы. primary_key - если True, поле становится первичным ключом unique - если True, то значения в столбце - уникальны validator - список валидаторов для этого поля """ """ Создание, изменение, и сохранение объектов из базы осуществляется через импорт классов из модели данных """ # создание объекта класса с переданными параметрами b = Blog(name='first name', tagline='All the latest Beatles news') b.save() # запись значения в базу данных b.name = 'another first name' # изменение атрибута b.save() # запись нового значения в базу b.delete() # удаление объекта из базы # ** для присваивания связи между объектами: # получение объекта класса entry через метод get, присаивание id объекта (pk-1) entry = Entry.object.get() # получение объекта класса blog cheese_blog = Blog.object.get(name="Cheder Talk") entry.blog = cheese_blog # присваивание связи между entry и blog 1 к многим entry.save() genry = Author(name="Genry") # создание автора jonny = Author(name="Jonny") # создание автора entry.authors.add(genry, jonny) # присваивание связи авторов к заметке & = &