das Modell wie folgt:django Modell Aggregat Fliter von diffrent Zeit
class UserInfo(models.Model):
login_id=models.CharField(db_column='login_id',max_length=50,unique=True)
passport_name=models.CharField(db_column='passport_name',max_length=50)
identity_id=models.CharField(db_column='identity_id',max_length=50,null=True)
company=models.CharField(db_column='company',max_length=50,null=True)
ctime = models.DateTimeField(db_column='ctime', blank=True, null=True)
utime = models.DateTimeField(db_column='utime', blank=True, null=True)
class Meta:
managed = True
db_table = "user_info"
class UserViewpoint(models.Model):
title=models.CharField(db_column='title',max_length=100)
userid=models.ForeignKey(UserInfo,db_column='userid',to_field='login_id',related_name='rel_tg_viewpoint')
ctime = models.DateTimeField(db_column='ctime', blank=True, null=True)
utime = models.DateTimeField(db_column='utime', blank=True, null=True)
class Meta:
managed = True
db_table = "user_viewpoint"
class UserRelationHistory(models.Model):
"""docstring for TgRelationHistory"""
adviser_id=models.ForeignKey(UserInfo,to_field='login_id',db_column='adviser_id',related_name='rel_tg_relation_history')
common_id=models.CharField(db_column='common_id',max_length=100)
ctime = models.DateTimeField(db_column='ctime', blank=True, null=True)
utime = models.DateTimeField(db_column='utime', blank=True, null=True)
class Meta:
managed = True
db_table = "user_relation_history"
i wie diese erhalten möchten, führen: user_id, count_viewpoint, count_relation_new, count_relation_utilnow
count_realtion_new: neue realtions wenn user_relation.ctime in (Anfang, Ende)
count_relation_utilnow: Gesamtreal wo user_relation.ctime < Ende
ich habe bereits die Dokumentation lesen, aber keine Möglichkeit, zu implementieren wie diese, wählen ui.login_id , zählen (distinct r_current.common_id) als count_realtion_new , zählen (distinct r_current.common_id) als count_relation_utilnow von user_info ui links finden beitreten (wählen * aus user_relation_history, wobei ctime = thatday) r_current auf ui.login_id = r_current.adviser_id links beitreten (wählen * aus user_relation_history wobei ctime <= thday) urh auf ui.login_id = urh.adviser_id group von ui.login_id . danke –
Was ist TgInfo in Ihrem Fremdschlüssel hier. Ich kann das Modell nicht sehen. Überprüfen Sie bitte diese Beschreibung: https://docs.djangoproject.com/de/1.9/ref/models/fields/#django.db.models.ForeignKey – hellboy
oh entschuldigung! TgInfo ist falsch, das Recht ist UserInfo, ich habe es behoben –