[fix] upload excel & add user
This commit is contained in:
@@ -5,15 +5,15 @@ from api.users.models import User
|
|||||||
|
|
||||||
|
|
||||||
class UserSerializer(serializers.ModelSerializer):
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
|
event_id = serializers.IntegerField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
fields = "__all__"
|
fields = "__all__"
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
try:
|
try:
|
||||||
event = Event.objects.get(
|
event = Event.objects.get(pk=validated_data.pop("event_id"))
|
||||||
pk=self.context["view"].kwargs.get("event_id")
|
|
||||||
)
|
|
||||||
except Event.DoesNotExist as e:
|
except Event.DoesNotExist as e:
|
||||||
msg = "Event does not exist"
|
msg = "Event does not exist"
|
||||||
raise serializers.ValidationError(msg) from e
|
raise serializers.ValidationError(msg) from e
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from api.users.views import (
|
|||||||
app_name = "users"
|
app_name = "users"
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("register/<event_id>/", RegisterUserView.as_view(), name="register"),
|
path("register/", RegisterUserView.as_view(), name="register"),
|
||||||
path(
|
path(
|
||||||
"upload/excel/<event_id>/",
|
"upload/excel/<event_id>/",
|
||||||
RegisterUsersFromExcelView.as_view(),
|
RegisterUsersFromExcelView.as_view(),
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ class UserViewSet(ReadOnlyModelViewSet):
|
|||||||
serializer_class = UserSerializer
|
serializer_class = UserSerializer
|
||||||
|
|
||||||
|
|
||||||
#! Починить вьюшку, сделать экспорт
|
|
||||||
class RegisterUsersFromExcelView(APIView):
|
class RegisterUsersFromExcelView(APIView):
|
||||||
def post(self, request, event_id):
|
def post(self, request, event_id):
|
||||||
try:
|
try:
|
||||||
@@ -43,14 +42,13 @@ class RegisterUsersFromExcelView(APIView):
|
|||||||
try:
|
try:
|
||||||
df = pd.read_excel(excel_file)
|
df = pd.read_excel(excel_file)
|
||||||
|
|
||||||
for index, row in df.iterrows():
|
for _, row in df.iterrows():
|
||||||
# Создаем нового пользователя
|
|
||||||
user = User.objects.create(
|
user = User.objects.create(
|
||||||
first_name=row["First Name"],
|
first_name=row["first_name"],
|
||||||
last_name=row["Last Name"],
|
last_name=row["last_name"],
|
||||||
email=row["Email"],
|
email=row["email"],
|
||||||
birth_date=row["Birth Date"],
|
birth_date=row["birth_date"],
|
||||||
bio=row["Bio"],
|
bio=row["bio"],
|
||||||
)
|
)
|
||||||
|
|
||||||
event.users.add(user)
|
event.users.add(user)
|
||||||
|
|||||||
Reference in New Issue
Block a user