لا يظهر Django 1.11 الكثير إلى الكثير في django admin

1

مرحبًا ، لدي نموذج django للإخطار الذي يرتبط بعلاقة أطراف بأطراف ولكن لا يظهر شيء في مشرف django (لا تظهر جميع الحقول)

class Notification(models.Model):
    """send notification model"""

    title = models.CharField(max_length=200)
    text = models.TextField(null=True, blank=True)
    device = models.ManyToManyField(Device, null=True, blank=True)
    country = models.ManyToManyField(Country, null=True, blank=True)
    sent = models.BooleanField(default=False)

عندما أقوم بفتح django admin لهذا النموذج واضغط على إضافة إخطار هذا ما يحدث (لا يظهر شيء)

رمز البلد والجهاز

class Device(models.Model):
    """Store device related to :model:`accounts.User`."""

    user = models.OneToOneField(User, related_name='device', on_delete=models.CASCADE)
    model = models.CharField(max_length=200, blank=True, null=True)
    player_id = models.CharField(max_length=200, blank=True, null=True)

    class Meta:
        verbose_name = 'Device'
        verbose_name_plural = 'Devices'

    def __str__(self):
        return self.model


class Country(models.Model):
    name = models.CharField(max_length=255)

    def __str__(self):
        return self.name

Admin.py

from django.contrib import admin

from .models import  Notification

admin.site.register(Notification)

تعديل: شكرًا لك ، تم حل جميع المشكلة. حدثت المشكلة بسبب بعض الإدخالات في طراز الجهاز التي لم يكن بها أي شيء في حقل النموذج ، لذا كانت هناك مشكلة في عرضها بشكل صحيح.

2 الاجابة

0

https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#working-with-many-to-many-models

حدد مضمنة للكثيرين في admin.py:

from django.contrib import admin

class DeviceInline(admin.TabularInline):
    model = Notification.device.through

class CountryInline(admin.TabularInline):
    model = Notification.country.through

class NotificationAdmin(admin.ModelAdmin):
    inlines = [
        DeviceInline, CountryInline
    ]
    exclude = ("device", "country")
:مؤلف
0

وفقًا https://code.djangoproject.com/ticket/2169 :

When a class has a field that isn't shown in the admin interface but must not be blank, it's impossible to add a new one. You get a cryptic "Please correct the error below." message with no shown errors. The error message should probably say something about a hidden field.

الآن لا يحتاج ManyToManyFields إلى قيمة خالية = True ، حاول إزالة هذه العبارات ومعرفة ما إذا كان لديك تحسن.

حاول أيضًا إضافة طرز البلد والجهاز في admin.py حتى يتمكن المشرف من رؤيتها وعرضها.

:مؤلف
فوق
قائمة طعام