小编Tra*_*s D的帖子

卸载使用 amazon-linux-extras 安装的软件包

如何卸载使用 amazon-linux-extras 安装的软件包?

sudo amazon-linux-extras install postgresql10
Run Code Online (Sandbox Code Playgroud)

安装它。现在...我该如何删除它?

sudo amazon-linux-extras uninstall postgresql10
Run Code Online (Sandbox Code Playgroud)

没有。

sudo amazon-linux-extras remove postgresql10
Run Code Online (Sandbox Code Playgroud)

没有。

yum remove postgresql10
Run Code Online (Sandbox Code Playgroud)

没有。

啥?

amazon-ec2 amazon-web-services amazon-linux-extras

6
推荐指数
1
解决办法
1万
查看次数

Django ModelForm 继承、子类化和传入实例

我有一个地址模型:

class Address(models.Model):
  line1 = models.CharField(max_length=100)
  ....
Run Code Online (Sandbox Code Playgroud)

和地址表格:

class AddressForm(forms.ModelForm):
  class Meta:
    model = Address
Run Code Online (Sandbox Code Playgroud)

一些模型将有一个地址字段,因此我不想复制+粘贴 AddressForm 中的所有字段,而是想扩展 AddressForm,以便可以重用它。具体来说,我想避免将所有表单字段复制+粘贴到其他应用程序的表单中,并且只有一个 AddressForm.is_valid() 函数。

例如,订单将有一个地址,所以我的计划是这样做:

class Order:
  address = models.ForeignKey(Address, on_delete=models.CASCADE)

class OrderForm(AddressForm):
  class Meta:
    model = Order
Run Code Online (Sandbox Code Playgroud)

但是,当我从 传递一个实例到 OrderForm 时order/views.py,我传递的是 Order 的实例,并且所有 AddressForm 字段都显示为空白:

form = OrderForm(instance=order)
Run Code Online (Sandbox Code Playgroud)

如何从 order.address 字段初始化 AddressForm 字段?

我曾尝试过这个:

class OrderForm(AddressForm):
    def __init__(self, *args, **kwargs):
        kwargs['instance'] = kwargs['instance'].address
        super(OrderForm, self).__init__(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

有没有办法做到这一点?或者重用 AddressForm 的更好方法?或者只有当 Order 是 Address 的子类时这才有效?

干杯,

django django-forms

2
推荐指数
1
解决办法
868
查看次数