小编Seb*_*ond的帖子

Laravel 工厂没有返回正确的对象数据

我在 Laravel 5.7 中有以下工厂,在调用它时没有返回任何内容:

<?php

use Faker\Generator as Faker;
use Illuminate\Database\Eloquent\Model;

$factory->define(App\Record::class, function (Faker $faker) {
    return [
        "name" => $faker->name,
    ];
});
Run Code Online (Sandbox Code Playgroud)

而我的模型是:

<?php
namespace App;
use App\Product;
use Illuminate\Database\Eloquent\Model;

class Record extends Model
{
    protected $table = "records";

    protected $fillable = ["name"];

    function __construct()
    {
        parent::__construct();
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里调用工厂:

<?php

namespace Tests\Feature;

use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\RefreshDatabase;

use App;
use App\Product;
use App\Record;
use App\User;

class RecordTest extends TestCase
{
    use RefreshDatabase;
    use …
Run Code Online (Sandbox Code Playgroud)

php phpunit factory laravel

3
推荐指数
1
解决办法
1509
查看次数

Django Rest Framework 路由:未找到“订单”的反向操作。“orders”不是有效的视图函数或模式名称

我不太确定我是否理解路由在 DRF 中的工作原理。我浏览了文档,但仍然没有掌握其中的差异。

我有以下观点:

from django.shortcuts import render
from django.shortcuts import get_object_or_404

from rest_framework.viewsets import ViewSet
from rest_framework.response import Response


from .models import Order
from .serializer import OrderSerializer


class OrderAPIViewSet(ViewSet):

    def post(self, request):
        print(request)
Run Code Online (Sandbox Code Playgroud)

这是urls.py在我的应用程序中:

from django.urls import include, path
from rest_framework import routers
from .views import OrderAPIViewSet


router = routers.DefaultRouter()
router.register(r'orders', OrderAPIViewSet, basename='order')
urlpatterns = router.urls
Run Code Online (Sandbox Code Playgroud)

这是主要的urls.py:

from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings

urlpatterns …
Run Code Online (Sandbox Code Playgroud)

django-urls django-views django-rest-framework django-rest-viewsets django-url-reverse

1
推荐指数
1
解决办法
1419
查看次数

Django Rest Framework 序列化程序正在打印元组而不是 json

我有以下序列化程序:

from rest_framework import serializers

from .models import Product

class ProductSerializer(serializers.ModelSerializer):
    """ Serializer for Product object """

    class Meta:
        model = Product
        fields = ['name', 'slug', 'description', 'image', 'price', 'active',]
Run Code Online (Sandbox Code Playgroud)

以及以下测试:

from django.test import TestCase
from django.urls import reverse
from rest_framework.test import APIClient
from rest_framework import status

from .factories import ProductFactory
from .models import Product
from .serializer import ProductSerializer

PRODUCTS_URL = reverse('product-list')

def create_product(**params):
    """ Helper function to create a new product """
    return Product.objects.create(**params)

class PublicProductApiTests(TestCase):
    """
    Test the …
Run Code Online (Sandbox Code Playgroud)

django serialization python-3.x django-serializer django-rest-framework

0
推荐指数
1
解决办法
361
查看次数