gpt4 book ai didi

Django-nonrel 在管理中使用包含 EmbeddedObjects 的 ListField

转载 作者:可可西里 更新时间:2023-11-01 09:53:14 26 4
gpt4 key购买 nike

我一直在绝望地尝试让它发挥作用。

我有一个包含 EmbeddedObjects 的 ListField 的模型,基本上它是拍卖中的一个项目,其中包含一个出价列表。典型的 MongoDB 方法。

我知道 ListField 没有出现在管理中,因为它不知道要显示什么小部件,它可能是任何东西的列表。这是有道理的。

我在我的应用程序文件夹中创建了一个 fields.py 并将 ListField 子类化,我现在在我的 models.py 中使用它

我的问题是:

  • 我如何从现在开始继续前进,直到在我的管理页面上的“项目”部分下获得一个小部件,我可以在其中为所选项目添加出价?

这是我的模型.py

from django.db import models
from djangotoolbox.fields import ListField
from djangotoolbox.fields import EmbeddedModelField
from ebay_clone1.fields import BidsListField

class User(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField(max_length=75)
def __unicode__(self):
return self.name

class Item(models.Model):
seller = models.ForeignKey(User, null=True, blank=True)
title = models.CharField(max_length=100)
text = models.TextField()
price = models.FloatField()
dated = models.DateTimeField(auto_now=True)
num_bids = models.IntegerField()
bids = BidsListField(EmbeddedModelField('Bid'))
item_type = models.CharField(max_length=100)
def __unicode__(self):
return self.title


class Bid(models.Model):
date_time = models.DateTimeField(auto_now=True)
value = models.FloatField()
bidder = models.ForeignKey(User, null=True, blank=True)

在我的 fields.py 中我有:

from django.db import models
from djangotoolbox.fields import ListField
from djangotoolbox.fields import EmbeddedModelField
from django import forms

class BidsListField(ListField):
def formfield(self, **kwargs):
return None

class BidListFormField(forms.Field):
def to_python(self, value):
if value in validators.EMPTY_VALUES:
return None
return value

def validate(self,value):
if value == '':
raise ValidationError('Empty Item String?')

最佳答案

试试这个?

class BidsListField(ListField):
def formfield(self, **kwargs):
return BidListFormField(**kwargs)

关于Django-nonrel 在管理中使用包含 EmbeddedObjects 的 ListField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8909408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com