如何卸载使用 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)
没有。
啥?
我有一个地址模型:
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 的子类时这才有效?
干杯,