我正在尝试将数据导入到我的某个模型中,但它失败了,因为我正在尝试上传foreignKey Id,而不是import-export创建的迭代数.
models.py
from django.db import models
from import_export import resources
class School(models.Model):
name = models.CharField(max_length=100)
slug = models.CharField(max_length=100)
school_id = models.IntegerField(unique=True)
class Sol(models.Model):
school_id = models.ForeignKey(School, to_field='school_id')
name = models.CharField(max_length = 100)
Al1EOC = models.DecimalField(max_digits=5, decimal_places=2)
AL2EOC = models.DecimalField(max_digits=5, decimal_places=2)
#Class for django-import-export
class SolResource(resources.ModelResource):
class Meta:
model = Sol
Run Code Online (Sandbox Code Playgroud)
我的admin.py
from import_export.admin import ImportExportModelAdmin
class SolAdmin(ImportExportModelAdmin):
list_display = ('name', 'school_id')
resources_class = SolResource
pass
admin.site.register(Sol, SolAdmin)
Run Code Online (Sandbox Code Playgroud)
我的data.csv
id, name, school_id, Al1EOC, AL2EOC
,'Main st school', 1238008, 12.9, 14.9 …Run Code Online (Sandbox Code Playgroud) 我正在尝试从数据框中构建一个类似于以下内容的JSON文件:
{'249' : [
{'candidateId': 751,
'votes':7528,
'vote_pct':0.132
},
{'candidateId': 803,
'votes':7771,
'vote_pct':0.138
}...
],
'274': [
{'candidateId': 891,
....
Run Code Online (Sandbox Code Playgroud)
我的数据框如下所示:
officeId candidateId votes vote_pct
0 249 751 7528 0.132198
1 249 803 7771 0.136465
2 249 818 7569 0.132918
3 249 827 9089 0.159610
4 249 856 2271 0.039881
5 249 877 7491 0.131548
6 249 878 8758 0.153798
7 249 895 6267 0.110054
8 249 1161 201 0.003530
9 274 736 4664 0.073833
10 274 737 6270 0.099256 …Run Code Online (Sandbox Code Playgroud) 我正在使用传单集群插件来映射出一堆崩溃.当你加载页面时,我映射出所有崩溃(存储在GeoJSON文件中).我也有按钮,每年加载一个不同的geoJSON文件.
我遇到的问题是removeLayer()实际上并没有删除图层.因此,当我重新映射一个新的GeoJSON文件时,它只是将所有崩溃堆叠在一起.
这是我点击按钮时触发的两个功能.var标记在全局命名空间中定义,如下所示(可能这是问题的一部分)?
var markers = L.markerClusterGroup({spiderfyDistanceMultiplier: 1.3});
//Lay new data on map
function buildMarkers(yearData){
var crashLayer = new L.geoJson(yearData, {
onEachFeature: function (feature, layer) {
layer.bindPopup(feature.properties.year);
}
});
markers.addLayer(crashLayer);
map.addLayer(markers);
}
//Remove ALL data on map
function removeClusters(){
map.removeLayer(markers)
}
//AN example of a button
$("#twelve").click(function(e){
e.preventDefault();
$('a').removeClass('selected');
$(this).addClass('selected');
removeClusters();
buildMarkers(twelveCrashes);
});
Run Code Online (Sandbox Code Playgroud)