git://git.onelab.eu
/
plstackapi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Continuing bug fixes
[plstackapi.git]
/
planetstack
/
apigen
/
modelgen
diff --git
a/planetstack/apigen/modelgen
b/planetstack/apigen/modelgen
index
c36048e
..
ef2730b
100755
(executable)
--- a/
planetstack/apigen/modelgen
+++ b/
planetstack/apigen/modelgen
@@
-74,21
+74,31
@@
class Generator(dict):
def compute_links(self):
for obj in self.values():
def compute_links(self):
for obj in self.values():
- #if (str(obj)=='
siteprivilege
'):
+ #if (str(obj)=='
network
'):
# pdb.set_trace()
fields = obj.model._meta.fields
for f in fields:
# pdb.set_trace()
fields = obj.model._meta.fields
for f in fields:
- if type(f)==ForeignKey and f.name in self.keys():
- refobj = self[f.name]
- obj.refs.append(refobj)
+ if (f and f.rel):
+ to_name = str(f.rel.to)
+ else:
+ to_name = None
+
+ if type(f)==ForeignKey and to_name and to_name in self.keys():
+ refobj = self[f.to_name]
+
+ if (str(obj)=='slice' and f.to_name=='networks'):
+ obj.refs.append(refobj)
related_name = f.related_query_name()
related_name = f.related_query_name()
- if (related_name.lower()!=str(obj).lower()):
+ if (related_name
!='+' and related_name
.lower()!=str(obj).lower()):
cobj = copy.deepcopy(obj)
cobj.multi = True
cobj.plural_name = related_name
cobj = copy.deepcopy(obj)
cobj.multi = True
cobj.plural_name = related_name
+ #if (str(refobj)=='slice' and related_name=='networks'):
+ # pdb.set_trace()
refobj.refs.append(cobj)
else:
obj.props.append(f.name)
refobj.refs.append(cobj)
else:
obj.props.append(f.name)
+
m2m = obj.model._meta.many_to_many
for f in m2m:
try:
m2m = obj.model._meta.many_to_many
for f in m2m:
try:
@@
-96,6
+106,7
@@
class Generator(dict):
except:
related_model_name = f.m2m_db_table().rsplit('_',1)[-1]
except:
related_model_name = f.m2m_db_table().rsplit('_',1)[-1]
+ related_name = f.related_query_name()
if related_model_name in self.keys():
# pdb.set_trace()
refobj = self[related_model_name]
if related_model_name in self.keys():
# pdb.set_trace()
refobj = self[related_model_name]
@@
-103,12
+114,19
@@
class Generator(dict):
cobj.multi=True
refobj.refs.append(cobj)
cobj.multi=True
refobj.refs.append(cobj)
- if (related_name.lower()!=str(obj).lower()):
+ if (related_name
!='+' and related_name
.lower()!=str(obj).lower()):
cobj = copy.deepcopy(obj)
cobj.multi = True
cobj.plural_name = related_name
cobj = copy.deepcopy(obj)
cobj.multi = True
cobj.plural_name = related_name
+
+ #if (str(refobj)=='slice' and related_name=='networks'):
+ # pdb.set_trace()
refobj.refs.append(cobj)
refobj.refs.append(cobj)
+ #if (related_name=='networks'):
+ #pdb.set_trace()
+ #print str(refobj)
+