歡迎您光臨本站 註冊首頁

淺談django 重載str 方法

←手機掃碼閱讀     madbeef @ 2020-06-10 , reply:0

修改models效果如下

  class EmailVerifyRecord(models.Model):    code = models.CharField(max_length=20, verbose_name= u"驗證碼")    email = models.EmailField(max_length=50, verbose_name=u"郵箱")    send_type = models.CharField(choices=(("register",u"註冊"),("forget",u"找回密碼")), max_length=10 ,verbose_name=u"發送類型")    send_Time = models.DateTimeField(default=datetime.now, verbose_name=u"添加時間")       class Meta:      verbose_name = u"郵箱驗證碼"      verbose_name_plural = verbose_name    #新增如下代碼    def __str__(self):      return '{0}({1})'.format(self.code ,self.email)

 

補充知識:django model 重載objects實現自定義控制

場景需求

班級model作為foriegnfield供用戶選擇,為了方便選擇我們需要過濾掉一部分數據

解決方案 重載objects

  class BanjiManager(models.Manager):    def get_queryset(self):      return super(BanjiManager, self).get_queryset().filter(DQSZJ='2016')        class StuBK_banji(models.Model):    #rid = models.IntegerField(_(u'序號'),primary_key=True)    FY = models.CharField(_(u'學院'),max_length=40)    BH = models.CharField(_(u'班級'),max_length=40, blank=True)    DQSZJ = models.CharField(_(u'年級'),max_length=40, blank=True)       objects = BanjiManager()    def __str__(self):      return self.FY+'_'+self.BH          class Meta:      verbose_name = u"班級(從教務處數據提取)"      verbose_name_plural = verbose_name


   


[madbeef ] 淺談django 重載str 方法已經有226次圍觀

http://coctec.com/docs/python/shhow-post-237750.html