2013-07-12 25 views
15

yaratmak değil ben Team modeli katiyen players ManyToManyField var ve ben oluştururken yeni bir takıma Player s eklemek mümkün olmak istiyorum, ama bunu değiştirmek mümkün değildi sonra oluşturdu. Django salt okunur sadece değişime alan ancak

böyle salt okunur players alan yaparsanız:

# admin.py 
class TeamAdmin(admin.ModelAdmin) 
    readonly_fields = ['players'] 

admin.site.register(Team, TeamAdmin) 

Ben yeni Team oyuncuların eklemek mümkün olmayacaktır. players alanını "oluşturulduktan sonra salt okunur" veya benzeri bir şekilde nasıl yapabilirim?

cevap

32

Yönetici sınıfınızın get_readonly_fields() yöntemini geçersiz kılmanız gerekir.

# admin.py 
class TeamAdmin(admin.ModelAdmin) 
    ... 

    def get_readonly_fields(self, request, obj=None): 
     if obj: #This is the case when obj is already created i.e. it's an edit 
      return ['players'] 
     else: 
      return [] 
+0

Mükemmel, teşekkürler! – kissgyorgy

İlgili konular