前提・実現したいこと
- DjangoでWebアプリを作成しています。
- エクセルデータをコピペで登録できるようにしたいと考えており、django-funky-sheetsを用いてエクセルからのコピペを可能にしようとしています。
https://github.com/trco/django-funky-sheets
- django-funky-sheetsを用いてエクセルデータをコピペして登録すること自体はうまくいっていますが、登録するデータの一部(ForeignKey)をdjango-funky-sheetsを用いずに登録したいです。
- 下記のように、OrderDetailというモデルのデータを登録するにあたり、その一項目であるorder(ForeignKey)は、django-funky-sheetsを用いずに、デフォルトで登録したいです。
OrderDetailには、order、item、quantity、unit、unit_price、amountという項目があるのですが、そのうち、order(ForeignKey)は、その前のページから飛んでくる時に渡せるので、django-funky-sheetsを用いずに登録したいという意味です。
分かりづらく手申し訳ございません。
何か、良い方法はないでしょうか。思い当たる点がある方、ご教示頂ければ大変ありがたいです。
よろしくお願い致します。
該当のソースコード
python
1# models.py 2class Order(models.Model): 3 customer = models.CharField(max_length=100) 4 date = models.DateField() 5 6 7class OrderDetail(models.Model): 8 order = models.ForeignKey(Order, on_delete=models.CASCADE) # ←これをdjango-funky-sheetsを用いずに登録したい。 9 item = models.CharField(max_length=40) 10 quantity = models.FloatField() 11 unit = models.CharField(max_length=20) 12 unit_price = models.FloatField() 13 amount = models.IntegerField() 14
python
1# views.py 2class CreateDetailView(HotView): 3 model = Detail 4 checkbox_checked = 'no' 5 checkbox_unchecked = 'yes' 6 action = 'create' 7 template_name = 'sites/detail.html' 8 prefix = 'table' 9 success_url = reverse_lazy('sites:site_list') 10 fields = ( # 'order'は入れていません。 11 'item', 12 'quantity', 13 'unit', 14 'unit_price', 15 'amount', 16 ) 17 hot_settings = { 18 'contextMenu': 'true', 19 'language': 'ja-JP', 20 'licenseKey':'non-commercial-and-evaluation', 21 'autoWrapRow': 'true', 22 'rowHeaders': 'true', 23 'search': 'true', 24 'headerTooltips': { 25 'rows': 'true', 26 'columns': 'true' 27 }, 28 'dropdownMenu': [ 29 'remove_col', 30 '---------', 31 'make_read_only', 32 '---------', 33 'alignment' 34 ] 35 }
html
1<!--sites/detail.html--> 2 {% include hot_template %}
補足情報(FW/ツールのバージョンなど)
- Python 3.7
- Django 3.0.5
- django-funky-sheets 0.2.0
あなたの回答
tips
プレビュー