Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

88orm

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

88orm - npm Package Compare versions

Comparing version
0.1.6
to
0.1.8
+1
-1
88orm.egg-info/PKG-INFO
Metadata-Version: 2.1
Name: 88orm
Version: 0.1.6
Version: 0.1.8
Summary: ORM Service Connector

@@ -5,0 +5,0 @@ Home-page: http://pypi.python.org/pypi/88orm/

@@ -44,2 +44,3 @@ import json

self._app_label = model_info.get('app_label')
self._class_name = model_info.get('class_name')
self._fields = model_info.get('fields') # type: Dict

@@ -58,6 +59,3 @@ self._related_names = model_info.get('related_names') # type: Dict

)
model_name = self.__model
if model_name.islower():
model_name = model_name.capitalize()
return f"<{model_name}: {key}>"
return f"<{self._class_name}: {key}>"

@@ -91,5 +89,47 @@ def __setattr__(self, key, value):

def _set_related_attributes(self):
def set_many_to_one_or_many(self, key, value, related_field):
from .connector import ORM88
related_model = value.get('related_model')
model = f"{related_model.get('app_label')}.{related_model.get('name')}"
if hasattr(self, key):
_value = getattr(self, key)
if isinstance(_value, self.__class__):
return None
elif isinstance(_value, list):
attr_value = create_reverse_many_to_one(model, {})()
attr_value._bind(data=_value)
elif isinstance(_value, dict):
attr_value = self.__class__(model, self._payload, value=_value)
else:
attr_value = ORM88(model)
else:
attr_value = ORM88(model)
type_field = self._fields.get(
key,
self._related_names.get(key, {})
).get('type')
payload = {}
if type_field in ['OneToOneField', 'OneToOneRel']:
payload.update({
'get': {
'args': [],
'kwargs': {
related_field: self.id
}
}
})
else:
payload.update({
'filter': {
'args': [],
'kwargs': {
related_field: self.id
}
}
})
attr_value._payload.update(payload)
setattr(self, key, attr_value)
def _set_related_attributes(self):
for key, value in self._fields.items():

@@ -101,28 +141,8 @@ type_field = value.get('type')

related_model = value.get('related_model')
model = f"{related_model.get('app_label')}.{related_model.get('name')}"
if hasattr(self, key):
_value = getattr(self, key)
if isinstance(_value, list):
attr_value = create_reverse_many_to_one(model, {})()
attr_value._bind(data=_value)
else:
attr_value = ORM88(model)
else:
attr_value = ORM88(model)
attr_value._payload.update({
'filter': {
'args': [],
'kwargs': {
related_model.get('related_query_name'): self.id
}
}
})
setattr(self, key, attr_value)
self.set_many_to_one_or_many(key, value,
related_model.get('related_query_name'))
for key, value in self._related_names.items():
if not hasattr(self, key):
related_model = value.get('related_model')
model = f"{related_model.get('app_label')}.{related_model.get('name')}"
attr_value = ORM88(model)
setattr(self, key, attr_value)
related_model = value.get('related_model')
self.set_many_to_one_or_many(key, value, related_model.get('related_field'))

@@ -151,14 +171,19 @@ def _set_value(self, attrs: Dict):

def _reverse_related(self, related_name):
from .connector import ORM88
try:
orm = getattr(self, related_name) # type: ORM88
rel = self._related_names.get(related_name)
related_model = rel.get('related_model')
filter_kwargs = {
related_model.get('related_field'): self.id
}
if rel.get('type') == 'OneToOneRel':
return orm.get(**filter_kwargs)
return orm.filter(**filter_kwargs)
except AttributeError:
raise AttributeError(f'{self.__model} has no related {related_name}')
else:
if isinstance(orm, ORM88):
rel = self._related_names.get(related_name)
related_model = rel.get('related_model')
filter_kwargs = {
related_model.get('related_field'): self.id
}
if rel.get('type') == 'OneToOneRel':
orm = orm.get(**filter_kwargs)
setattr(self, related_name, orm)
return orm
return orm

@@ -170,2 +195,8 @@ def rel(self, name):

def has_rel(self, name):
try:
return bool(self.rel(name))
except Exception:
return False
def refresh_from_db(self):

@@ -172,0 +203,0 @@ from .connector import ORM88

Metadata-Version: 2.1
Name: 88orm
Version: 0.1.6
Version: 0.1.8
Summary: ORM Service Connector

@@ -5,0 +5,0 @@ Home-page: http://pypi.python.org/pypi/88orm/

@@ -8,3 +8,3 @@ import setuptools

name="88orm",
version="0.1.6",
version="0.1.8",
author="Rimba Prayoga",

@@ -11,0 +11,0 @@ author_email="rimba47prayoga@gmail.com",