Python django管理-匹配查询不存在

Python django管理-匹配查询不存在,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,编辑 我认为这与django fsm有关,看看我为各州编写的代码 class STATE: SUBMITTED = 'Submitted' VERIFIED_BY_DA = 'Verified by DA' APPROVED_BY_MS = 'Verified by MS' APPROVED_BY_DR = 'Approved by DR' APPROVED_BY_SrAO = 'Approved by SAO.' APPROVED_BY_R =

编辑 我认为这与django fsm有关,看看我为各州编写的代码

class STATE:
    SUBMITTED = 'Submitted'
    VERIFIED_BY_DA = 'Verified by DA'
    APPROVED_BY_MS = 'Verified by MS'
    APPROVED_BY_DR = 'Approved by DR'
    APPROVED_BY_SrAO = 'Approved by SAO.'
    APPROVED_BY_R = 'Approved by R'
    AMOUNT_TRANSFERRED = 'Accepted'
    REJECT = 'Rejected'

    def __init__(self):
        pass


STATE_CHOICES = (
    (STATE.SUBMITTED, 'Submitted', 'Medical'),
    (STATE.VERIFIED_BY_DA, 'Verified by DA', 'Medical'),
    (STATE.APPROVED_BY_MS, 'Approved by MD', 'Medical'),
    (STATE.APPROVED_BY_DR, 'Approved by DR', 'Medical'),
    (STATE.APPROVED_BY_SrAO, 'Approved by SAO', 'Medical'),
    (STATE.APPROVED_BY_R, 'Approved by R', 'Medical'),
    (STATE.AMOUNT_TRANSFERRED, 'Amount transferred by AD', 'Medical'),
    (STATE.REJECT, 'Reject', 'Medical'),
)
所以我在django的models文件夹下的单独文件中定义了这两个模型 首先,我只定义了医学模型,一切都很好

from django_fsm import FSMField

from state import STATE
from state import STATE_CHOICES

class Medical(BaseModel):

    general_detail = models.ForeignKey(
        GeneralDetail,
        help_text='General Detail'
    )
    state = FSMField(
        blank=True,
        protected=not settings.DEBUG,
        default=STATE.SUBMITTED,
        state_choices=STATE_CHOICES,
    )

    def __str__(self):
        return str(self.general_detail.employee.user.first_name) + ' ' \
               + str(self.general_detail.employee.user.last_name)

    def __unicode__(self):
        return str(self.general_detail.employee.user.first_name) + ' ' \
               + str(self.general_detail.employee.user.last_name)
但在添加了下面的模型之后,当使用django admin在转换历史中保存字段时,django admin中出现了错误

class TransitionHistory(BaseModel):

    state_from = FSMField(
        blank=True,
        protected=not settings.DEBUG,
        default=STATE.SUBMITTED,
        state_choices=STATE_CHOICES,
    )
    state_to = FSMField(
        blank=True,
        protected=not settings.DEBUG,
        default=STATE.SUBMITTED,
        state_choices=STATE_CHOICES,
    )

    def __str__(self):
        return str(self.state_from) + str(self.state_to)

    def __unicode__(self):
        return str(self.state_from) + str(self.state_to)
错误 异常类型:DoesNotExist

异常值:医疗匹配查询不存在

第379行 get中的C:\Python27\lib\site packages\django\db\models\query.py
self.model.\u meta.object\u name

只需检查您是否进行了迁移,如果是,那么您可能忘记了在admin.py中注册您的模型

是的,我已经完成了所有工作,我认为这与django fsm模块有关您是否能够解决您的问题?我也有类似的问题,我不记得解决过这个问题,但可能只与迁移有关