擅长:python、mysql、java
<p>我要感谢天王星给了我这个解决方案的提示。他的回答对我不起作用,但以下是有效的:</p>
<pre><code>class LanguageInlineFormSet(BaseInlineFormSet):
def __init__(self, *args, **kwargs):
kwargs['initial'] = [
{'name': 'pt-PT'}, {'name': 'en-US'}, {'name': 'es-ES'}
]
super(LanguageInlineFormSet, self).__init__(*args, **kwargs)
# Rest of the code as per @uranusjr's answer
class LanguageStackedInline(admin.StackedInline):
model = ProductI18N
extra = 3 # You said you need 3 rows
formset = LanguageInlineFormSet
</code></pre>
<p>为了便于比较,我保留了<code>'name'</code>键。在</p>
<p>{{cd2>在这里更详细地解释了cd2}:</p>
<p><a href="https://docs.djangoproject.com/en/dev/topics/forms/formsets/#formsets-initial-data" rel="noreferrer">https://docs.djangoproject.com/en/dev/topics/forms/formsets/#formsets-initial-data</a></p>
<p>因此,只需将其添加到重载构造函数中的<code>kwargs</code>中就可以了。在</p>
<p>编辑:让我也分享我在我的应用程序中实际使用的代码:</p>
^{pr2}$
<p>这将为每个非默认语言生成一个表单。它并不完美,因为它没有考虑到已经保存了一种非默认语言的情况,但它给了我一个很好的起点。在</p>