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
def post(self): data = request.get_json() if self.user_is_admin is False: response = failure_response(401, 'Unauthenticated requests') return jsonify(response) name = data.get('name') content = data.get('content') if name or content is None: response = failure_response(400, 'Missing required fields') return jsonify(response) elif name.isalpha() is False or content.isalpha() is False: response = failure_response(400, 'Non string values are not accepted') return jsonify(response) blog = Blog(name=name, content=content, posted_user=current_user) blog.save() response = success_response({'blog_id': blog.id}) return jsonify(response)
типа столбца - сообщает какие данные храним (INT, VAR ит.д); Виджета - то что используется при отображении; требования к проверке. #** Параметры полей: 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") # создание автора