小编Mik*_*lad的帖子

Django ModelForm 继承和 Meta 继承

我有这个 ModelForm:

class Event(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(Event, self).__init__(*args, **kwargs)
        ##Here make some changes such as:
        self.helper = FormHelper()
        self.helper.form_method = 'POST'
        ##Many settings here which **i don't want to rewrite in 10 child classes**

    class Meta:
        model = Event
        exclude = something...
        widgets = some settings here also.
Run Code Online (Sandbox Code Playgroud)

而这个子 ModelForm:

class UpgradedEvent(Event):

    def __init__(self, *args, **kwargs):
        super(UpgradedEvent,self).__init__(*args,**kwargs)

    class Meta(Event.Meta):
        model = UpgradedEvent
Run Code Online (Sandbox Code Playgroud)

UpgradedEventEvent 模型的孩子,但有一些额外的字段。如何将EventFORM 中的所有设置继承到UpgradedEventFORM 中?

运行上面的代码时,它会呈现Event表单。有没有办法只继承里面的设置__init__? …

python django inheritance django-forms

7
推荐指数
2
解决办法
2942
查看次数

熊猫df groupby并申请

假设以下df:

df = pd.DataFrame(
    {
    'col 1': ['A', 'A', 'B', 'B', 'C'],
    'col 2': ['c2', 'd2', 'e2', 'f2', 'g2'],
    'col 3': ['c3', 'd3', 'e3', 'f3', 'g3'],
    'col 4': ['c4', 'd4', 'e4', 'f4', 'g4'],
    }
    )
Run Code Online (Sandbox Code Playgroud)

期望的输出是:

col 1  col 2  col 3
A      c2;d2  c3;d3
B      e2;f2  e3;f3
C      g2     g3
Run Code Online (Sandbox Code Playgroud)

我通过以下方式成功完成了这项工作:

df = df.groupby('col 1').transform( lambda x: ';'.join(x)).drop_duplicates()
Run Code Online (Sandbox Code Playgroud)

问题是这种方法不能保留我真正需要的第1列.我无法apply工作.我试过这样但是它似乎没有用.groupby.

apply(lambda x: '*'.join(x.dropna().values.tolist()), axis=1)
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

4
推荐指数
1
解决办法
57
查看次数

React-Select 自定义选项数组?

我正在尝试使用react-select, https://react-select.com/,并且options道具的强制格式似乎是{value:something, label:something}.

我有一个包含其他键、值对的对象列表,我的问题是是否有任何解决方法,not having to modify the array因为如果我修改它,这意味着select component将不会返回初始数组的对象,因此我将不得不再次映射它们.

options = [
    {name: 'opt1', descr:'descr1'},
    {name: 'opt2', descr:'descr2'},
    {name: 'opt3', descr:'descr3'},
]
Run Code Online (Sandbox Code Playgroud)

例如,Vue我可以选择key将用作的label

视图:

:items="options.name"
Run Code Online (Sandbox Code Playgroud)

在反应中,我将不得不执行以下操作:

this.new_options = []
this.options.forEach(element => {
    this.new_options.push({
        value : element.name,
        label : element.name,
    })
})
Run Code Online (Sandbox Code Playgroud)

在选择中:

                  <Select
                        name="selectedWires"
                        //closeMenuOnSelect={false}
                        components={makeAnimated()}
                        onChange={this.handleSelectChange('selectedWires')}
                        options={this.new_options}
                        isMulti
                    />
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

4
推荐指数
1
解决办法
5712
查看次数

ManyToMany 不会保存到 db Django

我有一个多对多字段,结果CheckboxSelectMultiple没有保存在数据库中,我不明白为什么。这一定很简单,但是......

这是代码:

模型.py

class Person(models.Model):

    last_name = models.CharField(max_length = 50)
    first_name = models.CharField(max_length = 50)

    def __str__(self):
        return self.last_name +" "+self.first_name

class Event(models.Model):
        owner = models.ForeignKey(User, on_delete=models.SET_NULL, null = True)
        person = models.ManyToManyField(Person)
Run Code Online (Sandbox Code Playgroud)

表格.py

class EventForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        self.user = kwargs.get('user',None)
        #self.user = kwargs.pop('user',None)
        super(EventForm, self).__init__(*args, **kwargs)

        self.helper = FormHelper()
        self.helper.form_method = 'POST'
        #self.helper.form_action = reverse_lazy('simpleuser')
        self.helper.add_input(Submit('submit', 'Submit', css_class='btn-success'))     

    class Meta:
        model = Event
        fields = ['person']
        widgets ={
        'person': forms.CheckboxSelectMultiple,
        }
Run Code Online (Sandbox Code Playgroud)

视图.py

def uploadevent(request):

    if …
Run Code Online (Sandbox Code Playgroud)

django django-models django-forms

0
推荐指数
1
解决办法
1404
查看次数