class Attempt(BaseModel): member = models.ReferenceField(Member) challenge = models.ReferenceField(Challenge) recorded_time_secs = models.IntegerField() activity_timestamp = models.TimeStampField() activity_id = models.IntegerField(blank=True) @staticmethod def add(effort, member, challenge): a = Attempt.objects.create( id=effort.id, member=member, challenge=challenge, recorded_time_secs=effort.elapsed_time.total_seconds(), activity_timestamp=effort.start_date_local, activity_id=effort.activity.id, audit_inserted=datetime.utcnow()) a.save Activity.add(Activity.CHALLENGE_ATTEMPTED, member_id=member.id, challenge_id=challenge.id, attempt_id=a.id) return a def jsonify(self): return { "id": self.id, "member_id": self.member.id, "challenge_id": self.challenge.id, "recorded_time_secs": self.recorded_time_secs, "activity_timestamp": self.activity_timestamp, "activity_id": self.activity_id }
class NewBaseClass(models.Model): name = models.TextField(default='aaaaa') active = models.BooleanField(column_name='is_active', default=False) list_f = models.ListField(default=[], column_name='lista') map_f = models.MapField(default={}, column_name='mapa') ref_a = models.ReferenceField(A) class Meta: abstract = True collection_name = 'collection_name'
class Handicap(BaseModel): member = models.ReferenceField(Member) handicap = models.IntegerField(default=1) @staticmethod def add(member, handicap=1): h = Handicap.objects.create(member=member, handicap=handicap, audit_inserted=datetime.utcnow()) h.save() return h
class NewClass(NewBaseClass): ref_b = models.ReferenceField(B)
class Message(models.Model): msg = models.TextField() user = models.ReferenceField(User) class Meta: collection_name = 'messages'