溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

django中如何重載str

發(fā)布時間:2020-07-23 14:36:07 來源:億速云 閱讀:140 作者:小豬 欄目:開發(fā)技術(shù)

小編這次要給大家分享的是django中如何重載str,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

修改models效果如下

django中如何重載str

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"發(fā)送類型")
  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)

補(bǔ)充知識:django model 重載objects實現(xiàn)自定義控制

場景需求

班級model作為foriegnfield供用戶選擇,為了方便選擇我們需要過濾掉一部分?jǐn)?shù)據(jù)

解決方案 重載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'學(xué)院'),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"班級(從教務(wù)處數(shù)據(jù)提?。?quot;
    verbose_name_plural = verbose_name

看完這篇關(guān)于django中如何重載str的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI