Skip to content

Djongo : Value: '__' must be an instance of <class 'dict'> or <class 'list'> when defining EmbeddedField or ArrayField in model #566

@prakharrai

Description

@prakharrai

Error : On Django Admin form - input value ----Value: '__' must be an instance of <class 'dict'> or <class 'list'> when defining EmbeddedObjects or ArrayField in model

Python script

class Entry(models.Model):
    DELIVERY_METHODS = (
        ('No Shipping Needed', 'No Shipping Needed'),
        ('Standard Shipping', 'Standard Shipping'),
        ('Cargo Shipping', 'Cargo Shipping'),
    )
    name = models.CharField(max_length=250)
    sr_no = models.IntegerField()
    milestone = models.CharField(max_length=100)
    inspection_period = models.IntegerField()
    #delivery_type =  models.CharField(max_length=100, choices=DELIVERY_METHODS)
    shipping_price = models.IntegerField()
    unit_price = models.IntegerField()
    description = models.TextField()


    class Meta:
        #verbose_name = "Child"
        #verbose_name_plural = "Children"
        abstract = True
    def __str__(self):
        return self.name


class Post(models.Model):
    SHIPPING_METHODS = (
        ('Courier', 'Courier'),
        ('None', 'None'),
    )
    SHIPPING_PAYMENTS = (
        ('Buyer', 'Buyer'),
        ('Seller', 'Seller'),
        ('Shipping Cost', 'Shipping Cost'),
    )
    ESCROW_PAYMENTS = (
        ('Buyer', 'Buyer'),
        ('Seller', 'Seller'),
        ('50 - 50', '50 Buyer - 50 Seller'),
    )
    #_id = models.ObjectIdField()
    title = models.CharField(max_length=100)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

    type_of_transaction = models.CharField(max_length=100)
    user_email = models.CharField(max_length=100)
    buyer_phone_number = models.CharField(max_length=12, default=None)
    price = models.IntegerField()
    shipping_method = models.CharField(max_length=7, choices=SHIPPING_METHODS)
    entry = models.EmbeddedField(model_container=Entry,)
    objects = models.DjongoManager()

    def __str__(self):
        return self.title
    
    def get_absolute_url(self):
        return reverse('post-detail', kwargs={'pk': self.pk})

Traceback

Screen Shot 2021-08-16 at 9 56 44 PM

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions