def __get__(self, instance, owner): super(OneToMany, self)._set_up(instance, owner) if not instance: return self.model if not self.field: self.field = '%s_id' % instance.Meta.table conditions = {self.field: getattr(instance, instance.Meta.pk)} return Query(model=self.model, conditions=conditions)
def __get__(self, instance, owner): super(ForeignKey, self)._set_up(instance, owner) if not instance: return self.model if not self.field: self.field = '%s_id' % self.model.Meta.table conditions = {self.model.Meta.pk: getattr(instance, self.field)} return Query(model=self.model, conditions=conditions)[0]
def get_or_create(cls, **kwargs): 'Returns Model, if not exists then create' query = Query(model=cls, conditions=kwargs) obj = query[0] if obj is None: obj = cls(**kwargs) obj.save() return obj
def query(): name = ('童晓白', 'tinyfool') print name sql = 'select * from weibo where screen_name in %s' % str(name) print 'sql = %s' % sql sql = 'select * from weibo where screen_name in("童晓白","tinyfool")' print 'sql = %s' % sql q = Query(model=Weibo).sql(sql) for qu in q: print 'qu = %s' % qu['screen_name'] return render_template('query.html')
def get(cls, _obj_pk=None, **kwargs): 'Returns Query object' if _obj_pk is not None: return cls.get(**{cls.Meta.pk: _obj_pk})[0] return Query(model=cls, conditions=kwargs)