class Answer(models.Model): text = models.TextField() added_at = models.DateTimeField(auto_now=True) question = models.ForeignKey(Question, on_delete=models.DO_NOTHING( None, None, None, None)) author = models.ForeignKey(User, related_name='answer_author', on_delete=models.DO_NOTHING( None, None, None, None))
class GroupMember(models.Model): group = models.ForeignKey(Group, related_name="memberships", on_delete=models.DO_NOTHING( 'collector', 'field', 'sub_objs', 'using')) user = models.ForeignKey(User, related_name='user_groups', on_delete=models.DO_NOTHING( 'collector', 'field', 'sub_objs', 'using')) def __str__(self): return self.user.username class Meta: unique_together = ("group", "user")
class Question(models.Model): objects = QuestionManager() title = models.CharField(max_length=255) text = models.TextField() added_at = models.DateTimeField(auto_now=True) rating = models.IntegerField(default=0) author = models.ForeignKey(User, related_name='question_author', on_delete=models.DO_NOTHING( None, None, None, None)) likes = models.ManyToManyField(User, related_name='question_likes')
class Question(models.Model, HitCountMixin): user = models.ForeignKey(User, related_name="questions", on_delete=models.DO_NOTHING( 'collector', 'field', 'sub_objs', 'using')) created_at = models.DateTimeField(auto_now=True) question = models.TextField() message_html = models.TextField(editable=False) hit_count_generic = GenericRelation( HitCount, object_id_field='object_pk', related_query_name='hit_count_generic_relation') group = models.ForeignKey(Group, related_name="questions", null=True, blank=True, on_delete=models.DO_NOTHING( 'collector', 'field', 'sub_objs', 'using')) # approved_answer = models.OneToOneField('Answer', null=True, related_name="question_accepting", on_delete= models.DO_NOTHING('collector', 'field', 'sub_objs', 'using')) def __str__(self): return self.question def save(self, *args, **kwargs): # self.message_html = misaka.html(self.message) super().save(*args, **kwargs) def get_absolute_url(self): return reverse("questions:single", kwargs={ "username": self.user.username, "pk": self.pk }) class Meta: ordering = ["-hit_count_generic__hits"] # ordering = ["-created_at"] unique_together = ["user", "question"]
class News(models.Model): id=models.UUIDField(default=uuid.uuid4,primary_key=True,editable=False) title=models.CharField('标题',max_length=200) content=models.TextField('内容',max_length=2048) author=models.ForeignKey(User,verbose_name='作者',on_delete=models.DO_NOTHING(None,None,None,None),null=True,blank=True) pubTime=models.DateTimeField('发布时间',auto_now_add=True,null=True,blank=True)#创建时自动赋值 modifyTime=models.DateTimeField('最后修改时间',auto_now=True)#保存时更新最后修改时间 url=models.URLField('路径',null=True,blank=True) def __str__(self): return self.title class Meta: verbose_name='新闻' verbose_name_plural='新闻'
class Owner(OwnerProfile): user = models.OneToOneField(User, on_delete=models.DO_NOTHING())