glyphOrientationHorizontal.js 11e3a9652a first 7 jaren geleden glyphOrientationVertical.js 11e3a9652a first 7 jaren geleden height.js 11e3a9652a first 7 jaren geleden imageRendering.js 11e3a9652a first 7 jaren geleden kerning.js 11e3a9652a first 7 jaren geleden left.js 11e3a9652a first 7 jaren geleden letterSpacing.js 11e3a9652a first 7 jaren geleden lightingColor.js 11e3a9652a first 7 jaren geleden lineHeight.js 11e3a9652a first 7 jaren geleden listStyle.js 11e3a9652a first 7 jaren geleden listStyleImage.js 11e3a9652a first 7 jaren geleden listStylePosition.js 11e3a9652a first 7 jaren geleden listStyleType.js 11e3a9652a first 7 jaren geleden margin.js 11e3a9652a first 7 jaren geleden marginBottom.js 11e3a9652a first 7 jaren geleden marginLeft.js 11e3a9652a first 7 jaren geleden marginRight.js 11e3a9652a first 7 jaren geleden marginTop.js 11e3a9652a first 7 jaren geleden marker.js 11e3a9652a first 7 jaren geleden markerEnd.js 11e3a9652a first 7 jaren geleden markerMid.js 11e3a9652a first 7 jaren geleden markerOffset.js 11e3a9652a first 7 jaren geleden markerStart.js 11e3a9652a first 7 jaren geleden marks.js 11e3a9652a first 7 jaren geleden mask.js 11e3a9652a first 7 jaren geleden maxHeight.js 11e3a9652a first 7 jaren geleden maxWidth.js 11e3a9652a first 7 jaren geleden minHeight.js 11e3a9652a first 7 jaren geleden minWidth.js 11e3a9652a first 7 jaren geleden opacity.js 11e3a9652a first 7 jaren geleden orphans.js 11e3a9652a first 7 jaren geleden outline.js 11e3a9652a first 7 jaren geleden outlineColor.js 11e3a9652a first 7 jaren geleden outlineOffset.js 11e3a9652a first 7 jaren geleden outlineStyle.js 11e3a9652a first 7 jaren geleden outlineWidth.js 11e3a9652a first 7 jaren geleden overflow.js 11e3a9652a first 7 jaren geleden overflowX.js 11e3a9652a first 7 jaren geleden overflowY.js 11e3a9652a first 7 jaren geleden padding.js 11e3a9652a first 7 jaren geleden paddingBottom.js 11e3a9652a first 7 jaren geleden paddingLeft.js 11e3a9652a first 7 jaren geleden paddingRight.js 11e3a9652a first 7 jaren geleden paddingTop.js 11e3a9652a first 7 jaren geleden page.js 11e3a9652a first 7 jaren geleden pageBreakAfter.js 11e3a9652a first 7 jaren geleden pageBreakBefore.js 11e3a9652a first 7 jaren geleden pageBreakInside.js 11e3a9652a first 7 jaren geleden pause.js 11e3a9652a first 7 jaren geleden pauseAfter.js 11e3a9652a first 7 jaren geleden pauseBefore.js 11e3a9652a first 7 jaren geleden pitch.js 11e3a9652a first 7 jaren geleden pitchRange.js 11e3a9652a first 7 jaren geleden playDuring.js 11e3a9652a first 7 jaren geleden pointerEvents.js 11e3a9652a first 7 jaren geleden position.js 11e3a9652a first 7 jaren geleden quotes.js 11e3a9652a first 7 jaren geleden resize.js 11e3a9652a first 7 jaren geleden richness.js 11e3a9652a first 7 jaren geleden right.js 11e3a9652a first 7 jaren geleden shapeRendering.js 11e3a9652a first 7 jaren geleden size.js 11e3a9652a first 7 jaren geleden speak.js 11e3a9652a first 7 jaren geleden speakHeader.js 11e3a9652a first 7 jaren geleden speakNumeral.js 11e3a9652a first 7 jaren geleden speakPunctuation.js 11e3a9652a first 7 jaren geleden speechRate.js 11e3a9652a first 7 jaren geleden src.js 11e3a9652a first 7 jaren geleden stopColor.js 11e3a9652a first 7 jaren geleden stopOpacity.js 11e3a9652a first 7 jaren geleden stress.js 11e3a9652a first 7 jaren geleden stroke.js 11e3a9652a first 7 jaren geleden strokeDasharray.js 11e3a9652a first 7 jaren geleden strokeDashoffset.js 11e3a9652a first 7 jaren geleden strokeLinecap.js 11e3a9652a first 7 jaren geleden strokeLinejoin.js 11e3a9652a first 7 jaren geleden strokeMiterlimit.js 11e3a9652a first 7 jaren geleden strokeOpacity.js 11e3a9652a first 7 jaren geleden strokeWidth.js 11e3a9652a first 7 jaren geleden tableLayout.js 11e3a9652a first 7 jaren geleden textAlign.js 11e3a9652a first 7 jaren geleden textAnchor.js 11e3a9652a first 7 jaren geleden textDecoration.js 11e3a9652a first 7 jaren geleden textIndent.js 11e3a9652a first 7 jaren geleden textLineThrough.js 11e3a9652a first 7 jaren geleden textLineThroughColor.js 11e3a9652a first 7 jaren geleden textLineThroughMode.js 11e3a9652a first 7 jaren geleden textLineThroughStyle.js 11e3a9652a first 7 jaren geleden textLineThroughWidth.js 11e3a9652a first 7 jaren geleden textOverflow.js 11e3a9652a first 7 jaren geleden textOverline.js 11e3a9652a first 7 jaren geleden textOverlineColor.js 11e3a9652a first 7 jaren geleden textOverlineMode.js 11e3a9652a first 7 jaren geleden textOverlineStyle.js 11e3a9652a first 7 jaren geleden textOverlineWidth.js 11e3a9652a first 7 jaren geleden textRendering.js 11e3a9652a first 7 jaren geleden textShadow.js 11e3a9652a first 7 jaren geleden textTransform.js 11e3a9652a first 7 jaren geleden textUnderline.js 11e3a9652a first 7 jaren geleden textUnderlineColor.js 11e3a9652a first 7 jaren geleden textUnderlineMode.js 11e3a9652a first 7 jaren geleden textUnderlineStyle.js 11e3a9652a first 7 jaren geleden textUnderlineWidth.js 11e3a9652a first 7 jaren geleden top.js 11e3a9652a first 7 jaren geleden unicodeBidi.js 11e3a9652a first 7 jaren geleden unicodeRange.js 11e3a9652a first 7 jaren geleden vectorEffect.js 11e3a9652a first 7 jaren geleden verticalAlign.js 11e3a9652a first 7 jaren geleden visibility.js 11e3a9652a first 7 jaren geleden voiceFamily.js 11e3a9652a first 7 jaren geleden volume.js 11e3a9652a first 7 jaren geleden webkitAnimation.js 11e3a9652a first 7 jaren geleden webkitAnimationDelay.js 11e3a9652a first 7 jaren geleden webkitAnimationDirection.js 11e3a9652a first 7 jaren geleden webkitAnimationDuration.js 11e3a9652a first 7 jaren geleden webkitAnimationFillMode.js 11e3a9652a first 7 jaren geleden webkitAnimationIterationCount.js 11e3a9652a first 7 jaren geleden webkitAnimationName.js 11e3a9652a first 7 jaren geleden webkitAnimationPlayState.js 11e3a9652a first 7 jaren geleden webkitAnimationTimingFunction.js 11e3a9652a first 7 jaren geleden webkitAppearance.js 11e3a9652a first 7 jaren geleden webkitAspectRatio.js 11e3a9652a first 7 jaren geleden webkitBackfaceVisibility.js 11e3a9652a first 7 jaren geleden webkitBackgroundClip.js 11e3a9652a first 7 jaren geleden webkitBackgroundComposite.js 11e3a9652a first 7 jaren geleden webkitBackgroundOrigin.js 11e3a9652a first 7 jaren geleden webkitBackgroundSize.js 11e3a9652a first 7 jaren geleden webkitBorderAfter.js 11e3a9652a first 7 jaren geleden webkitBorderAfterColor.js 11e3a9652a first 7 jaren geleden webkitBorderAfterStyle.js 11e3a9652a first 7 jaren geleden webkitBorderAfterWidth.js 11e3a9652a first 7 jaren geleden webkitBorderBefore.js 11e3a9652a first 7 jaren geleden webkitBorderBeforeColor.js 11e3a9652a first 7 jaren geleden webkitBorderBeforeStyle.js 11e3a9652a first 7 jaren geleden webkitBorderBeforeWidth.js 11e3a9652a first 7 jaren geleden webkitBorderEnd.js 11e3a9652a first 7 jaren geleden webkitBorderEndColor.js 11e3a9652a first 7 jaren geleden webkitBorderEndStyle.js 11e3a9652a first 7 jaren geleden webkitBorderEndWidth.js 11e3a9652a first 7 jaren geleden webkitBorderFit.js 11e3a9652a first 7 jaren geleden webkitBorderHorizontalSpacing.js 11e3a9652a first 7 jaren geleden webkitBorderImage.js 11e3a9652a first 7 jaren geleden webkitBorderRadius.js 11e3a9652a first 7 jaren geleden webkitBorderStart.js 11e3a9652a first 7 jaren geleden webkitBorderStartColor.js 11e3a9652a first 7 jaren geleden webkitBorderStartStyle.js 11e3a9652a first 7 jaren geleden webkitBorderStartWidth.js 11e3a9652a first 7 jaren geleden webkitBorderVerticalSpacing.js 11e3a9652a first 7 jaren geleden webkitBoxAlign.js 11e3a9652a first 7 jaren geleden webkitBoxDirection.js 11e3a9652a first 7 jaren geleden webkitBoxFlex.js 11e3a9652a first 7 jaren geleden webkitBoxFlexGroup.js 11e3a9652a first 7 jaren geleden webkitBoxLines.js 11e3a9652a first 7 jaren geleden webkitBoxOrdinalGroup.js 11e3a9652a first 7 jaren geleden webkitBoxOrient.js 11e3a9652a first 7 jaren geleden webkitBoxPack.js 11e3a9652a first 7 jaren geleden webkitBoxReflect.js 11e3a9652a first 7 jaren geleden webkitBoxShadow.js 11e3a9652a first 7 jaren geleden webkitColorCorrection.js 11e3a9652a first 7 jaren geleden webkitColumnAxis.js 11e3a9652a first 7 jaren geleden webkitColumnBreakAfter.js 11e3a9652a first 7 jaren geleden webkitColumnBreakBefore.js 11e3a9652a first 7 jaren geleden webkitColumnBreakInside.js 11e3a9652a first 7 jaren geleden webkitColumnCount.js 11e3a9652a first 7 jaren geleden webkitColumnGap.js 11e3a9652a first 7 jaren geleden webkitColumnRule.js 11e3a9652a first 7 jaren geleden webkitColumnRuleColor.js 11e3a9652a first 7 jaren geleden webkitColumnRuleStyle.js 11e3a9652a first 7 jaren geleden webkitColumnRuleWidth.js 11e3a9652a first 7 jaren geleden webkitColumnSpan.js 11e3a9652a first 7 jaren geleden webkitColumnWidth.js 11e3a9652a first 7 jaren geleden webkitColumns.js 11e3a9652a first 7 jaren geleden webkitFilter.js 11e3a9652a first 7 jaren geleden webkitFlexAlign.js 11e3a9652a first 7 jaren geleden webkitFlexDirection.js 11e3a9652a first 7 jaren geleden webkitFlexFlow.js 11e3a9652a first 7 jaren geleden webkitFlexItemAlign.js 11e3a9652a first 7 jaren geleden webkitFlexLinePack.js 11e3a9652a first 7 jaren geleden webkitFlexOrder.js 11e3a9652a first 7 jaren geleden webkitFlexPack.js 11e3a9652a first 7 jaren geleden webkitFlexWrap.js 11e3a9652a first 7 jaren geleden webkitFlowFrom.js 11e3a9652a first 7 jaren geleden webkitFlowInto.js 11e3a9652a first 7 jaren geleden webkitFontFeatureSettings.js 11e3a9652a first 7 jaren geleden webkitFontKerning.js 11e3a9652a first 7 jaren geleden webkitFontSizeDelta.js 11e3a9652a first 7 jaren geleden webkitFontSmoothing.js 11e3a9652a first 7 jaren geleden webkitFontVariantLigatures.js 11e3a9652a first 7 jaren geleden webkitHighlight.js 11e3a9652a first 7 jaren geleden webkitHyphenateCharacter.js 11e3a9652a first 7 jaren geleden webkitHyphenateLimitAfter.js 11e3a9652a first 7 jaren geleden webkitHyphenateLimitBefore.js 11e3a9652a first 7 jaren geleden webkitHyphenateLimitLines.js 11e3a9652a first 7 jaren geleden webkitHyphens.js 11e3a9652a first 7 jaren geleden webkitLineAlign.js 11e3a9652a first 7 jaren geleden webkitLineBoxContain.js 11e3a9652a first 7 jaren geleden webkitLineBreak.js 11e3a9652a first 7 jaren geleden webkitLineClamp.js 11e3a9652a first 7 jaren geleden webkitLineGrid.js 11e3a9652a first 7 jaren geleden webkitLineSnap.js 11e3a9652a first 7 jaren geleden webkitLocale.js 11e3a9652a first 7 jaren geleden webkitLogicalHeight.js 11e3a9652a first 7 jaren geleden webkitLogicalWidth.js 11e3a9652a first 7 jaren geleden webkitMarginAfter.js 11e3a9652a first 7 jaren geleden webkitMarginAfterCollapse.js 11e3a9652a first 7 jaren geleden webkitMarginBefore.js 11e3a9652a first 7 jaren geleden webkitMarginBeforeCollapse.js 11e3a9652a first 7 jaren geleden webkitMarginBottomCollapse.js 11e3a9652a first 7 jaren geleden webkitMarginCollapse.js 11e3a9652a first 7 jaren geleden webkitMarginEnd.js 11e3a9652a first 7 jaren geleden webkitMarginStart.js 11e3a9652a first 7 jaren geleden webkitMarginTopCollapse.js 11e3a9652a first 7 jaren geleden webkitMarquee.js 11e3a9652a first 7 jaren geleden webkitMarqueeDirection.js 11e3a9652a first 7 jaren geleden webkitMarqueeIncrement.js 11e3a9652a first 7 jaren geleden webkitMarqueeRepetition.js 11e3a9652a first 7 jaren geleden webkitMarqueeSpeed.js 11e3a9652a first 7 jaren geleden webkitMarqueeStyle.js 11e3a9652a first 7 jaren geleden webkitMask.js 11e3a9652a first 7 jaren geleden webkitMaskAttachment.js 11e3a9652a first 7 jaren geleden webkitMaskBoxImage.js 11e3a9652a first 7 jaren geleden webkitMaskBoxImageOutset.js 11e3a9652a first 7 jaren geleden webkitMaskBoxImageRepeat.js 11e3a9652a first 7 jaren geleden webkitMaskBoxImageSlice.js 11e3a9652a first 7 jaren geleden webkitMaskBoxImageSource.js 11e3a9652a first 7 jaren geleden webkitMaskBoxImageWidth.js 11e3a9652a first 7 jaren geleden webkitMaskClip.js 11e3a9652a first 7 jaren geleden webkitMaskComposite.js 11e3a9652a first 7 jaren geleden webkitMaskImage.js 11e3a9652a first 7 jaren geleden webkitMaskOrigin.js 11e3a9652a first 7 jaren geleden webkitMaskPosition.js 11e3a9652a first 7 jaren geleden webkitMaskPositionX.js 11e3a9652a first 7 jaren geleden webkitMaskPositionY.js 11e3a9652a first 7 jaren geleden webkitMaskRepeat.js 11e3a9652a first 7 jaren geleden webkitMaskRepeatX.js 11e3a9652a first 7 jaren geleden webkitMaskRepeatY.js 11e3a9652a first 7 jaren geleden webkitMaskSize.js 11e3a9652a first 7 jaren geleden webkitMatchNearestMailBlockquoteColor.js 11e3a9652a first 7 jaren geleden webkitMaxLogicalHeight.js 11e3a9652a first 7 jaren geleden webkitMaxLogicalWidth.js 11e3a9652a first 7 jaren geleden webkitMinLogicalHeight.js 11e3a9652a first 7 jaren geleden webkitMinLogicalWidth.js 11e3a9652a first 7 jaren geleden webkitNbspMode.js 11e3a9652a first 7 jaren geleden webkitOverflowScrolling.js 11e3a9652a first 7 jaren geleden webkitPaddingAfter.js 11e3a9652a first 7 jaren geleden webkitPaddingBefore.js 11e3a9652a first 7 jaren geleden webkitPaddingEnd.js 11e3a9652a first 7 jaren geleden webkitPaddingStart.js 11e3a9652a first 7 jaren geleden webkitPerspective.js 11e3a9652a first 7 jaren geleden webkitPerspectiveOrigin.js 11e3a9652a first 7 jaren geleden webkitPerspectiveOriginX.js 11e3a9652a first 7 jaren geleden webkitPerspectiveOriginY.js 11e3a9652a first 7 jaren geleden webkitPrintColorAdjust.js 11e3a9652a first 7 jaren geleden webkitRegionBreakAfter.js 11e3a9652a first 7 jaren geleden webkitRegionBreakBefore.js 11e3a9652a first 7 jaren geleden webkitRegionBreakInside.js 11e3a9652a first 7 jaren geleden webkitRegionOverflow.js 11e3a9652a first 7 jaren geleden webkitRtlOrdering.js 11e3a9652a first 7 jaren geleden webkitSvgShadow.js 11e3a9652a first 7 jaren geleden webkitTapHighlightColor.js 11e3a9652a first 7 jaren geleden webkitTextCombine.js 11e3a9652a first 7 jaren geleden webkitTextDecorationsInEffect.js 11e3a9652a first 7 jaren geleden webkitTextEmphasis.js 11e3a9652a first 7 jaren geleden webkitTextEmphasisColor.js 11e3a9652a first 7 jaren geleden webkitTextEmphasisPosition.js 11e3a9652a first 7 jaren geleden webkitTextEmphasisStyle.js 11e3a9652a first 7 jaren geleden webkitTextFillColor.js 11e3a9652a first 7 jaren geleden webkitTextOrientation.js 11e3a9652a first 7 jaren geleden webkitTextSecurity.js 11e3a9652a first 7 jaren geleden webkitTextSizeAdjust.js 11e3a9652a first 7 jaren geleden webkitTextStroke.js 11e3a9652a first 7 jaren geleden webkitTextStrokeColor.js 11e3a9652a first 7 jaren geleden webkitTextStrokeWidth.js 11e3a9652a first 7 jaren geleden webkitTransform.js 11e3a9652a first 7 jaren geleden webkitTransformOrigin.js 11e3a9652a first 7 jaren geleden webkitTransformOriginX.js 11e3a9652a first 7 jaren geleden webkitTransformOriginY.js 11e3a9652a first 7 jaren geleden webkitTransformOriginZ.js 11e3a9652a first 7 jaren geleden webkitTransformStyle.js 11e3a9652a first 7 jaren geleden webkitTransition.js 11e3a9652a first 7 jaren geleden webkitTransitionDelay.js 11e3a9652a first 7 jaren geleden webkitTransitionDuration.js 11e3a9652a first 7 jaren geleden webkitTransitionProperty.js 11e3a9652a first 7 jaren geleden webkitTransitionTimingFunction.js 11e3a9652a first 7 jaren geleden webkitUserDrag.js 11e3a9652a first 7 jaren geleden webkitUserModify.js 11e3a9652a first 7 jaren geleden webkitUserSelect.js 11e3a9652a first 7 jaren geleden webkitWrap.js 11e3a9652a first 7 jaren geleden webkitWrapFlow.js 11e3a9652a first 7 jaren geleden webkitWrapMargin.js 11e3a9652a first 7 jaren geleden webkitWrapPadding.js 11e3a9652a first 7 jaren geleden webkitWrapShapeInside.js 11e3a9652a first 7 jaren geleden webkitWrapShapeOutside.js 11e3a9652a first 7 jaren geleden webkitWrapThrough.js 11e3a9652a first 7 jaren geleden webkitWritingMode.js 11e3a9652a first 7 jaren geleden whiteSpace.js 11e3a9652a first 7 jaren geleden widows.js 11e3a9652a first 7 jaren geleden width.js 11e3a9652a first 7 jaren geleden wordBreak.js 11e3a9652a first 7 jaren geleden wordSpacing.js 11e3a9652a first 7 jaren geleden wordWrap.js 11e3a9652a first 7 jaren geleden writingMode.js 11e3a9652a first 7 jaren geleden zIndex.js 11e3a9652a first 7 jaren geleden zoom.js 11e3a9652a first 7 jaren geleden kodo - Gogs: Go Git Service

Sin Descripción

models.py 5.0KB

    # -*- coding: utf-8 -*- from django.conf import settings from django.db import models from django.utils.translation import ugettext_lazy as _ from django_models_ext import BaseModelMixin from TimeConvert import TimeConvert as tc from group.models import GroupPhotoInfo from kodo.basemodels import PaiaiSrcMixin class UserMessageInfo(BaseModelMixin): SYSTEM = 'system' COMMENT = 'comment' THUMBUP = 'thumbup' MESSAGE_TYPE = ( (SYSTEM, u'系统'), (COMMENT, u'评论'), (THUMBUP, u'点赞'), ) MESSAGE_TYPE_INFO = [ { 'msg_type': SYSTEM, 'msg_type_desc': u'系统', 'msg_avatar': settings.SYSTEM_MESSAGE_AVATAR }, { 'msg_type': COMMENT, 'msg_type_desc': u'评论', 'msg_avatar': settings.COMMENT_MESSAGE_AVATAR }, { 'msg_type': THUMBUP, 'msg_type_desc': u'点赞', 'msg_avatar': settings.THUMBUP_MESSAGE_AVATAR } ] from_uid = models.CharField(_(u'from_uid'), max_length=32, blank=True, null=True, help_text=u'发送消息用户唯一标识', db_index=True) from_nickname = models.CharField(_(u'from_nickname'), max_length=255, blank=True, null=True, help_text=u'发送消息用户昵称') from_avatar = models.CharField(_(u'from_avatar'), max_length=255, blank=True, null=True, help_text=u'发送消息用户头像') to_uid = models.CharField(_(u'to_uid'), max_length=32, blank=True, null=True, help_text=u'接收消息用户唯一标识', db_index=True) group_id = models.CharField(_(u'group_id'), max_length=32, blank=True, null=True, help_text=u'群组唯一标识', db_index=True) photo_id = models.CharField(_(u'photo_id'), max_length=32, blank=True, null=True, help_text=u'飞图唯一标识', db_index=True) # TODO: IntegerField? msg_type = models.CharField(_(u'msg_type'), max_length=8, default='system', help_text=u'消息类型', db_index=True) msg_title = models.CharField(_(u'msg_title'), max_length=255, blank=True, null=True, help_text=u'消息标题') msg_content = models.TextField(_(u'msg_content'), blank=True, null=True, help_text=u'消息内容') read = models.BooleanField(_(u'read'), default=False, help_text=u'消息是否已读') class Meta: verbose_name = _('usermessageinfo') verbose_name_plural = _('usermessageinfo') def __unicode__(self): return unicode(self.pk) def msg_info(self, user_id=None): try: group_photo = GroupPhotoInfo.objects.get(photo_id=self.photo_id) except GroupPhotoInfo.DoesNotExist: group_photo = {} return { 'pk': self.pk, 'from_uid': self.from_uid, 'from_nickname': self.from_nickname, 'from_avatar': self.from_avatar, 'group_id': self.group_id, 'photo_id': self.photo_id, 'group_photo_info': group_photo and group_photo.photo_info(user_id), 'msg_title': self.msg_title, 'msg_content': self.msg_content, 'read': self.read, 'created_at': tc.remove_microsecond(self.created_at), } class SystemMessageInfo(BaseModelMixin, PaiaiSrcMixin): title = models.CharField(_(u'title'), max_length=255, help_text=u'系统消息标题') content = models.TextField(_(u'content'), blank=True, null=True, help_text=u'系统消息内容') url = models.CharField(_(u'url'), max_length=255, blank=True, null=True, help_text=u'系统消息链接') class Meta: verbose_name = _('systemmessageinfo') verbose_name_plural = _('systemmessageinfo') def __unicode__(self): return unicode(self.pk) def msg_info(self, user_id=None): return { 'pk': self.pk, 'title': self.title, 'content': self.content, 'url': self.url, 'read': SystemMessageReadInfo.objects.filter(user_id=user_id, msg_id=self.pk, status=True).exists(), } class SystemMessageReadInfo(BaseModelMixin): user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True) msg_id = models.CharField(_(u'msg_id'), max_length=32, blank=True, null=True, help_text=u'系统消息唯一标识', db_index=True) class Meta: verbose_name = _('systemmessagereadinfo') verbose_name_plural = _('systemmessagereadinfo') unique_together = (('user_id', 'msg_id'),) def __unicode__(self): return unicode(self.pk) class SystemMessageDeleteInfo(BaseModelMixin): user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True) msg_id = models.CharField(_(u'msg_id'), max_length=32, blank=True, null=True, help_text=u'系统消息唯一标识', db_index=True) class Meta: verbose_name = _('systemmessagedeleteinfo') verbose_name_plural = _('systemmessagedeleteinfo') unique_together = (('user_id', 'msg_id'),) def __unicode__(self): return unicode(self.pk)