省市数据
This commit is contained in:
parent
b94acf0f73
commit
a9658b0f55
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Generated by Django 3.0.5 on 2022-05-30 07:20
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('system', '0020_auto_20220513_0926'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='city',
|
||||||
|
name='id',
|
||||||
|
field=models.CharField(max_length=20, primary_key=True, serialize=False, verbose_name='id'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='province',
|
||||||
|
name='id',
|
||||||
|
field=models.CharField(max_length=20, primary_key=True, serialize=False, verbose_name='id'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -7,11 +7,11 @@ from utils.model import SoftModel, BaseModel
|
||||||
from simple_history.models import HistoricalRecords
|
from simple_history.models import HistoricalRecords
|
||||||
|
|
||||||
class Province(models.Model):
|
class Province(models.Model):
|
||||||
id = models.PositiveIntegerField('id', primary_key=True)
|
id = models.CharField('id', primary_key=True, max_length=20)
|
||||||
name = models.CharField(max_length=20)
|
name = models.CharField(max_length=20)
|
||||||
|
|
||||||
class City(models.Model):
|
class City(models.Model):
|
||||||
id = models.PositiveIntegerField('id', primary_key=True)
|
id = models.CharField('id', primary_key=True, max_length=20)
|
||||||
name = models.CharField(max_length=20)
|
name = models.CharField(max_length=20)
|
||||||
parent = models.ForeignKey(Province, on_delete=models.CASCADE)
|
parent = models.ForeignKey(Province, on_delete=models.CASCADE)
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,6 +1,6 @@
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
|
|
||||||
from .views import CityViewSet, ProviceViewSet, UserViewSet, OrganizationViewSet, PermissionViewSet, RoleViewSet, PositionViewSet, TestView, DictTypeViewSet, DictViewSet, sendMsg
|
from .views import CityViewSet, ProviceViewSet, UserViewSet, OrganizationViewSet, PermissionViewSet, RoleViewSet, PositionViewSet, TestView, DictTypeViewSet, DictViewSet, InitAreaView, sendMsg
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -17,5 +17,6 @@ router.register('city', CityViewSet, basename="city")
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
path('sendmsg/', sendMsg.as_view()),
|
path('sendmsg/', sendMsg.as_view()),
|
||||||
path('test/', TestView.as_view())
|
path('test/', TestView.as_view()),
|
||||||
|
path('initdata/', InitAreaView.as_view())
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -361,6 +361,7 @@ class UserViewSet(PageOrNot, ModelViewSet):
|
||||||
return Response()
|
return Response()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class WXMPlogin(APIView):
|
class WXMPlogin(APIView):
|
||||||
authentication_classes=[]
|
authentication_classes=[]
|
||||||
permission_classes=[]
|
permission_classes=[]
|
||||||
|
|
@ -452,5 +453,15 @@ def mediaauth(request):
|
||||||
return HttpResponseForbidden()
|
return HttpResponseForbidden()
|
||||||
|
|
||||||
|
|
||||||
|
class InitAreaView(APIView):
|
||||||
|
def get(self, request):
|
||||||
|
from django.db import transaction
|
||||||
|
with transaction.atomic():
|
||||||
|
from apps.system.pcity import ps, cs
|
||||||
|
for i in ps:
|
||||||
|
Province.objects.create(id=i['code'], name=i['name'])
|
||||||
|
for i in cs:
|
||||||
|
City.objects.create(id=i['code'], name=i['name'], parent=Province.objects.get(id=i['provinceCode']))
|
||||||
|
return Response()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue