2017-06-16 31 views
0

我有以下型號Django的 - 編輯多到許多在線

class Day(models.Model): 
    date = models.DateField(auto_now=False, auto_now_add=False) 
    price = models.FloatField() 
    payment_method = models.CharField(max_length = 200, blank=True) 
    payment_date = models.CharField(max_length=200, blank=True) 
    room = models.ForeignKey(Room, null=True, blank=True, verbose_name='Номер', on_delete=models.CASCADE) 

    def __unicode__(self): 
     return str(self.date) 

class Reservation(models.Model): 
    start = models.DateField(verbose_name='Заезд', auto_now=False, auto_now_add=False, blank=False) 
    end = models.DateField(verbose_name='Выезд', auto_now=False, auto_now_add=False, blank=False) 
    check_in_time = models.TimeField(verbose_name='Время заезда', blank=False) 
    check_out_time = models.TimeField(verbose_name='Время выезда', blank=False) 
    has_refund = models.BooleanField(verbose_name='Возвратная бронь', default=True) 
    payed = models.BooleanField(verbose_name='Оплачено', default=False) 
    reserved_days = models.ManyToManyField(Day, blank=False) 
    additional_services = models.ManyToManyField(AdditionalService) 
    guest_name = models.CharField(verbose_name='Имя гостя', max_length=200, blank=True) 
    reservation_number = models.CharField(verbose_name='Номер брони', max_length=200, blank=True) 

我要的是有對Reservation頁編輯Day能力

我嘗試以下方法爲Django文檔

class ReservedDaysInline(admin.TabularInline): 
    model = Reservation 
    extra = 1 

class ReservationAdmin(admin.ModelAdmin): 
    inlines = (ReservedDaysInline,) 

class DayAdmin(admin.ModelAdmin): 
    inline = (ReservedDaysInline,) 


admin.site.register(Reservation, ReservationAdmin) 
admin.site.register(Day, DayAdmin) 

但它不工作。

我在做什麼錯?

+0

試試這個,你應該有'模型= Day'一個DayInline類,並設置上保留在線。 (儘管我忍不住想到你的模型不在這裏,但這是一個單獨的問題。) –

+0

這個設置https://www.dropbox.com/s/pbfr6vjyl3h2ybh/Screenshot%202017-06-16%2011.54 .36.png?dl = 0給我這個錯誤https://www.dropbox.com/s/xmnrzalpb280p58/Screenshot%202017-06-16%2011.55.11.png?dl=0 –

回答

1

如果你想在預訂頁面編輯天doc

class ReservedDaysInline(admin.TabularInline): 
    model = Reservation.reserved_days.through 
    extra = 1 

class ReservationAdmin(admin.ModelAdmin): 
    inlines = (ReservedDaysInline,) 
    exclude = ('reserved_days',)