Я хочу выбрать несколько данных во всплывающем окне django raw_id и добавить их в строку

Приятно познакомиться со всеми.

Я создаю систему бронирования талантов на django admin. models.py выглядит следующим образом. Я новичок в django. Извините, если вопрос уже был решен.

[master models.py]

class Talent(models.Model):
    
        def __str__(self):
            return self.name
    
        class Meta:
            verbose_name = _('Talent')
            verbose_name_plural = _('1-3. Talent')
            ordering = ['id']
    
        name = models.CharField(_('Talent Name'), max_length=128, blank=False, null=False)

class Contract(models.Model):

    def __str__(self):
        return str(self.contract_start_d) + '-' + str(self.contract_end_d)

    class Meta:
        verbose_name = _('Contract')
        verbose_name_plural = _('2-0. Contract')
        ordering = ['id']

    model = models.ForeignKey(Talent, on_delete=models.CASCADE, verbose_name='Talent', blank=False, null=False)

[event models.py]

class Ticket(models.Model):
    
    def __str__(self):
        return str(self.id)
    
    class Meta:
        verbose_name = _('Ticket')
        verbose_name_plural = _('3-0. Ticket')
        ordering = ['id']

    name = models.CharField(_('name'), max_length=128, blank=True, null=True)    

class TicketContract(models.Model):

    def __str__(self):
        return self.contract.model.name

    class Meta:
        verbose_name = _('TicketContract')
        verbose_name_plural = _('3-5.TicketContract')
        ordering = ['id']

    ticket = models.ForeignKey(Ticket, on_delete=models.CASCADE, verbose_name='Ticket')
    contract = models.ForeignKey(Contract, on_delete=models.CASCADE, verbose_name='Contract', null=False)

[admin.py]

class TicketContractInline(admin.TabularInline):
        model = TicketContract
        fieldsets = (
            (_('Talent'), {'fields': (
                'contract',
            )}),
        )
        search_fields = ('contract',)
        raw_id_fields = ('contract',)
        ordering = ('id',)
        extra = 1


class TicketAdmin(admin.ModelAdmin):
    fieldsets = (
        (_('Ticket'), {'fields': (
            'name'
        )}),
    )
    list_display = (
        'id',
    )

    inlines = (TicketContractInline,)

Я установил models.py и admin.py таким образом, но я знаю хороший способ выбрать несколько данных [Contract] на всплывающем экране и добавить несколько данных в строку [Ticket Contract] одновременно. Есть ли кто-нибудь, кто делает это?

Вернуться на верх