2008-10-09 22 views
6

Chcę móc umieszczać w linii pomiędzy dwoma różnymi polami w zestawie pól. Możesz już zrobić to z obcymi kluczami, pomyślałem, że zaznaczenie klasy, którą chciałem i zdefiniowanie jej, aby uzyskać dodatkowe formularze, byłoby wystarczające, ale najwyraźniej dostaję:
"klasa x" nie ma klucza obcego do "klasy y"
błąd. Czy to nie jest coś, co jest obsługiwane w Django 1.0? Jeśli tak, to w jaki sposób rozwiązać problem, jeśli nie istnieje wcześniej istniejące rozwiązanie?Interfejs administratora Django umieszcza miejsce docelowe

w models.py

class Place(models.Model): 
    name = models.CharField(max_length=50) 
    address = models.CharField(max_length=80) 

class Owner(models.Model): 
    name = models.CharField(max_length=100) 
    place = models.ForeignKey(Place) 
    background = models.TextField() 
    license_expiration = models.DateTimeField('license expiration') 

w admin.py

class PlaceInline(admin.TabularInline): 
    model = Place 
    extra = 5 

class OwnerAdmin(admin.ModelAdmin): 
    fieldsets = [ 
     (None, {'fields': ['background','place', 'license_expiration']}), 
    ] 
    inlines = [PlaceInline] 

Odpowiedz

3

Wydaje się niemożliwe w Django samej stronie administratora (nie powinny obejmować inlined pól w "pól" w ogóle) ale możesz użyć JS, aby przenosić pola z wstawkami, gdzie chcesz.

Powiązane problemy