本文整理汇总了Python中website.models.Node.save方法的典型用法代码示例。如果您正苦于以下问题:Python Node.save方法的具体用法?Python Node.save怎么用?Python Node.save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类website.models.Node
的用法示例。
在下文中一共展示了Node.save方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create
# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import save [as 别名]
def create(self, validated_data):
request = self.context['request']
user = request.user
if 'template_from' in validated_data:
template_from = validated_data.pop('template_from')
template_node = Node.load(key=template_from)
if template_node is None:
raise exceptions.NotFound
if not template_node.has_permission(user, 'read', check_parent=False):
raise exceptions.PermissionDenied
validated_data.pop('creator')
changed_data = {template_from: validated_data}
node = template_node.use_as_template(auth=get_user_auth(request), changes=changed_data)
else:
node = Node(**validated_data)
try:
node.save()
except ValidationValueError as e:
raise InvalidModelValueError(detail=e.message)
if is_truthy(request.GET.get('inherit_contributors')) and validated_data['parent'].has_permission(user, 'write'):
auth = get_user_auth(request)
parent = validated_data['parent']
contributors = []
for contributor in parent.contributors:
if contributor is not user:
contributors.append({
'user': contributor,
'permissions': parent.get_permissions(contributor),
'visible': parent.get_visible(contributor)
})
node.add_contributors(contributors, auth=auth, log=True, save=True)
return node
示例2: create
# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import save [as 别名]
def create(self, validated_data):
node = Node(**validated_data)
try:
node.save()
except ValidationValueError as e:
raise InvalidModelValueError(detail=e.message)
return node
示例3: create
# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import save [as 别名]
def create(self, validated_data):
node = Node(**validated_data)
node.is_folder = True
node.category = ''
try:
node.save()
except ValidationValueError as e:
raise InvalidModelValueError(detail=e.message)
return node
示例4: create
# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import save [as 别名]
def create(self, validated_data):
node = Node(**validated_data)
node.is_collection = True
node.category = ''
try:
node.save()
except ValidationValueError as e:
raise InvalidModelValueError(detail=e.message)
except NodeStateError:
raise ser.ValidationError('Each user cannot have more than one Bookmark collection.')
return node
示例5: update_or_create
# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import save [as 别名]
def update_or_create(inst_data):
inst = Institution.load(inst_data['_id'])
if inst:
for key, val in inst_data.iteritems():
setattr(inst.node, inst.attribute_map[key], val)
changed_fields = inst.node.save()
if changed_fields:
print('Updated {}: {}'.format(inst.name, changed_fields))
update_institution(inst)
return inst, False
else:
inst = Institution(None)
inst_data = {inst.attribute_map[k]: v for k, v in inst_data.iteritems()}
new_inst = Node(**inst_data)
new_inst.save()
inst = Institution.load(new_inst.institution_id)
print('Added new institution: {}'.format(new_inst.institution_id))
update_institution(inst)
return new_inst, True
示例6: create
# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import save [as 别名]
def create(self, validated_data):
if 'template_from' in validated_data:
request = self.context['request']
user = request.user
template_from = validated_data.pop('template_from')
template_node = Node.load(key=template_from)
if template_node is None:
raise exceptions.NotFound
if not template_node.has_permission(user, 'read', check_parent=False):
raise exceptions.PermissionDenied
validated_data.pop('creator')
changed_data = {template_from: validated_data}
node = template_node.use_as_template(auth=get_user_auth(request), changes=changed_data)
else:
node = Node(**validated_data)
try:
node.save()
except ValidationValueError as e:
raise InvalidModelValueError(detail=e.message)
return node
示例7: create
# 需要导入模块: from website.models import Node [as 别名]
# 或者: from website.models.Node import save [as 别名]
def create(self, validated_data):
node = Node(**validated_data)
node.save()
return node