2017-05-03 8 views
0

bearbeiten Ich denke, es ist etwas zu django-FSM bezogen, haben einen Blick auf diesen Code, den ich für Staatendjango Admin - passende Abfrage existiert nicht

schrieb
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'), 
) 

So habe ich diese beiden Modelle definiert in separate Datei unter Modellen Ordner in django Zuerst definierte ich nur Medical Modell und alles funktioniert gut

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) 

Aber danach unter Modell Zugabe gibt es Fehler in Djang o-admin beim Speichern eines Feldes im Übergangsverlauf mit 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) 

Fehler Ausnahmetyp: doesNotExist

Ausnahmewert: Medical Anpassungs Abfrage existiert nicht

Linie 379 C: \ Python27 \ lib \ site-packages \ django \ db \ models \ query.py in get self.model._meta.object_name

+0

Konnten Sie Ihr Problem lösen? Ich habe etwas Ähnliches – nbeuchat

+0

Nun, ich erinnere mich nicht, das zu lösen, aber wahrscheinlich im Zusammenhang mit Migrationen nur –

Antwort

0

Überprüfen Sie einfach, ob Sie haben Migrationen durchgeführt, wenn ja, dann besteht die Möglichkeit, dass Sie die Registrierung Ihres Modells in der Datei admin.py vergessen haben.

+0

Ja, ich habe alles getan, ich denke, es ist mit dem Modul Django-FMS verwandt –