Hallo Leute,
ich habe folgendes Problem, ich nutze den ModelInline modus im Django Admin. Das funktioniert soweit auch problemlos nur das löschen und editieren ist problembehaftet. Man kann immer nur den untersten Eintrag im Inline Model löschen oder editieren, mache ich dies mit den anderen Einträgen des Inline Models, gibt mir Django zwar die Meldung aus, dass der Eintrag erfoglreich geändert wurde, aber es findet kein Lösch/Änderungsvorgang statt.
Wenn jemand eine Idee hat würde ich mich sehr freuen, und falls nicht weiß vielleicht jemand welche Datei im Framework selber für die Verwaltung der InlineModels zuständig ist?
Vielen Dank schonmal im voraus
Toffer
[Django] Problem mit ModelInline
Sorry war die letzden tage nicht im lande das Problem besteht leider immer noch.
Hier mal die Models:
In dem Model befinden sich 2 InlineModels.
Einmal:
und einmal:
Und hier die admin.py
Mich wundert das auch total, vorallem is es bei beiden Inlines das gleiche Problem immer nur das unterste lässt sich löschen.
Vilen Dank und beste Grüße
Toffer
Hier mal die Models:
Code: Alles auswählen
class Person(models.Model):
company = models.ForeignKey(Company,null=True,blank=True,verbose_name='Firma')
position = models.ForeignKey(Position,null=True,blank=True)
salut = models.ForeignKey(Salutation,verbose_name='Anrede')
adviser = models.ForeignKey(Adviser,null=True,blank=True,verbose_name='Betreuer')
titel = models.ForeignKey(Title,verbose_name='Titel',null=True,blank=True)
birth = models.CharField('Geburtstag',max_length=20,null=True,blank=True,help_text="Bitte halten sie folgene Formatierung ein: <em>DD.MM.YYYY</em>.")
fname = models.CharField('Vorname',max_length=100)
sname = models.CharField('Nachname',max_length=100)
comment = models.CharField('Kommentar',null=True,blank=True,max_length=40)
subkey = models.ManyToManyField(SubTag,blank=True,null=True,verbose_name='Stichwort')
Einmal:
Code: Alles auswählen
class Communication(models.Model):
person = models.ForeignKey(Person)
worker = models.ForeignKey(Adviser,verbose_name='Betreuer')
date = models.DateField('Datum')
type = models.ForeignKey(CommunicationType,verbose_name='Kontaktart')
topic = models.CharField(max_length=255)
text = models.TextField(blank=True,null=True)
def __unicode__(self):
return self.topic
class Admin:
pass
class Meta:
verbose_name = decode_entities('Kontaktereignis')
verbose_name_plural = decode_entities('Kontaktereignisse')
Code: Alles auswählen
class ContactChannel(models.Model):
person = models.ForeignKey(Person)
type = models.ForeignKey(Phonetype,verbose_name="Art")
number = models.CharField("Adresse",max_length=40)
def __unicode__(self):
return ''
class Meta:
verbose_name = 'Kontaktkanal'
verbose_name_plural = decode_entities('Kontaktkanäle')
Code: Alles auswählen
from ropdog.Person.models import *
from django.contrib import admin
from ropdog.communication.models import *
class CommunicationInline(admin.StackedInline):
model = Communication
extra = 1
class ContactChannelInline(admin.StackedInline):
model = ContactChannel
extra = 5
class PersonAdmin(admin.ModelAdmin):
inlines = [ContactChannelInline,CommunicationInline]
search_fields = ['fname','sname','subkey__name','subkey__key__word','company__name']
list_display = ('sname', 'fname','birth','company','position','get_tele','get_keywords')
list_filter = ['company']
filter_horizontal = ['subkey']
fieldsets = [
(None, {'fields': ('salut','titel','sname','fname','birth','company','position','comment',)}),
('Tags', {'fields': ['subkey'], 'classes': ['collapse']}),
]
class Media:
js = ('/media/js/jquery.js',)
admin.site.register(Person,PersonAdmin)
Vilen Dank und beste Grüße
Toffer
Ein `class Admin: pass` sollte es für Django 1.0 doch nicht mehr geben. Inzwischen ist ja Django 1.1 erschienen. Besteht damit das Problem auch noch? Eigentlich müsste nämlich problemlos gehen, was Toffer will und das Datenmodell sieht auf den ersten Blick auch harmlos aus.
Stefan
Stefan