これらの 2 つのモデルと modeladmin があります。利用可能なホストユーザーのリストに新しいホストを追加すると、別のホストに割り当てられていないホストユーザーのみが表示されます。問題は、既に作成されたホストを編集すると、実際のホストユーザー ID もフィルター処理されるため、現在割り当てられているホストユーザー ID を除外することです。hostuser フィールドから現在の ID を除外するように指定するにはどうすればよいですか?
私が必要とする声明は*の間に書かれています
前もって感謝します
モデル.py
class HostUser(models.Model):
name = models.CharField(max_length=200)
{..More Data..}
class Host(models.Model):
{..More Data..}
hostuser = models.ForeignKey(HostUser, blank=True, null=True)
Admin.py
class HostAdmin(admin.ModelAdmin):
{..More Data..}
def render_change_form(self, request, context, *args, **kwargs):
list_names = Host.objects.values_list('hostuser__id', flat=True).exclude(hostuser__id=None).exclude(hostuser__id=**ACTUAL HOSTUSER_ID**)
list_names = [int(ids) for ids in list_names]
context['adminform'].form.fields['hostuser'].queryset = HostUser.objects.exclude(id__in=list_names)
return super(HostAdmin, self).render_change_form(request, context, args, kwargs)