- Timestamp:
- 03/30/11 16:42:11 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sara_cmt/sara_cmt/django_cli.py
r12098 r12655 167 167 # Save object to give it an id, and make the M2M relations 168 168 if not parser.values.DRYRUN: 169 if self.is_complete():169 try: 170 170 self.save() 171 e lse:172 logger. info('Not enough data provided')171 except: 172 logger.warning('Not enough data provided') 173 173 174 174 for m2m in m2ms: … … 181 181 self.save() 182 182 logger.info(save_msg) 183 except (sqlite3.IntegrityError, ValueError), err: 183 except (sqlite3.IntegrityError, ValueError), err: # ??? what if using non-sqlite db? ??? 184 184 logger.error(err) 185 185 else: … … 264 264 qset = models.query.EmptyQuerySet(model=to_model) 265 265 # OR-filtering QuerySets 266 # !!! TODO: have to use Q-objects for this !!! 266 267 # !!! TODO: have to write a Custom Manager for this !!! 267 268 for subfield in subfields: … … 272 273 logger.debug('Iteration done, found: %s (%s)'%(found, type(found))) 273 274 # higher priority on the label-field: 274 if len(found) == 1 and subfield.name == 'label':275 if len(found) == 1 and (subfield.name == 'label' or subfield.name == 'name'): 275 276 qset = found 276 277 break … … 296 297 pass 297 298 298 def _setm2m(self, field, value , subfields=None):299 def _setm2m(self, field, values, subfields=None): 299 300 """ 300 301 Set a ManyToMany-relation. 301 302 """ 302 303 to_model = field.rel.to 303 values = value[0].split(',')304 304 logger.debug("Trying to make M2M-relations to %s based on '%s'" \ 305 % (to_model.__name__, value ))305 % (to_model.__name__, values)) 306 306 307 307 # determine which fields should be searched for … … 310 310 subfields = to_model()._required_local_fields() # exclude FKs 311 311 312 logger.debug('Searching a %s matching on fields %s' \313 % (to_model.__name__, [f.name for f in subfields]))314 315 312 qset = models.query.EmptyQuerySet(model=to_model) 316 313 # OR-filtering QuerySets 317 314 # !!! TODO: have to write a Custom Manager for this !!! 318 315 for subfield in subfields: 319 logger. critical('searching in field: %s'% subfield.name)316 logger.debug("Searching in field '%s'" % subfield.name) 320 317 qset |= to_model.objects.filter( 321 318 **{'%s__in' % subfield.name: values}) … … 332 329 self.__getattribute__(field.name).add(_object) 333 330 334 logger.critical('value to save: %s' % value)335 336 337 331 pass 332 338 333 339 334 def _setattr(self, field, value): … … 358 353 self._setfk(field, value) 359 354 elif isinstance(field, ManyToManyField): 360 logger.debug('We found a M2M field, but first have to implement \ 361 a function to handle this') 362 pass 363 # !!! TODO: Implement M2M relations !!! 355 logger.debug("""Found an M2M field. Can't assign it as long as the" \ 356 object doesn't have an id, so leave this for later""") 364 357 else: 365 358 logger.debug('Trying to set attribute of %s'%type(field)) … … 490 483 self.query[key][attr] = [val] 491 484 492 logger.debug("push_args built query '%s' from args '%s'" \ 493 % (self.query, args)) 485 logger.debug("push_args built query '%s'" % self.query) 494 486 495 487 def get_query(self):
Note: See TracChangeset
for help on using the changeset viewer.