Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以10为基数的int()的文本无效:';创建#u属性';_Python_Django - Fatal编程技术网

Python 以10为基数的int()的文本无效:';创建#u属性';

Python 以10为基数的int()的文本无效:';创建#u属性';,python,django,Python,Django,使用django视图时出现此错误。我有两个模型;所有者和财产。所有者可以有许多属性。模型如下: class Owner(models.Model): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) trading_name = models.CharField(max_length=100) phone = models.CharF

使用django视图时出现此错误。我有两个模型;所有者和财产。所有者可以有许多属性。模型如下:

class Owner(models.Model):
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)
    trading_name = models.CharField(max_length=100)
    phone = models.CharField(max_length=50)
    email = models.EmailField(unique=True)
    address = models.CharField(max_length=200)

    def __str__(self):
        return self.trading_name


class Property(models.Model):

    STYLE_CHOICES = [('Apart','Apartment'),
                        ('Bung','Bungalow'),
                        ('Mans','Mansionnete'),
                        ('Comm','Commercial'),
                    ]
    name = models.CharField(max_length=100)
    owner = models.ForeignKey(Owner, on_delete=models.CASCADE)
    style = models.CharField(max_length=100, choices=STYLE_CHOICES)
    bedrooms = models.IntegerField()
    bathrooms = models.IntegerField()
    parking = models.BooleanField(default=True)
    sqft = models.IntegerField()
    address = models.CharField(max_length=200)
    description = models.TextField(blank=True)
    image = models.ImageField(upload_to='photos/%Y/%m/%d', blank=True)


    def __str__(self):
        return self.name
我的看法是:

def CreatePropertyView(request):
    if request.method == "POST":
        form = PropertyForm(request.POST)
        print(request.POST)
        if form.is_valid():
            property = form.save(commit=False)
            property.save()
            return redirect(reverse('properties'))
    return render(request, 'property_agency/property_form.html', {'form': PropertyForm(request.POST or None)})



def PropertyListView(request):
    properties = Property.objects.all()
    context = {
            'properties': properties
    }
    return render(request, 'property_agency/property_list.html', context=context)



def PropertyDetailView(request, property_id, *args, **kwargs):
    property = Property.objects.get(pk=property_id)
    units = PropertyUnit.objects.filter(property=property)
    context = {
        'property': property,
        'units': units
    }
    return render(request, 'property_agency/property_detail.html', context=context)
url为“properties”的PropertyListView工作正常。此外,PropertyDetailView工作正常,但是当我转到“properties/create_property”时,它就崩溃了。堆栈跟踪突出显示以下行:

property = Property.objects.get(pk=property_id)
将我的PropertyDetailView作为带有问题的行。它是在搞乱了迁移之后开始的。我已尝试删除数据库并删除迁移,但仍然失败。有没有办法解决这个问题,谢谢

我的url配置:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('pages.urls')),
    path('listings/', include('listings.urls')),
    path('accounts/', include('accounts.urls')),
    path('contacts/', include('contacts.urls')),
    path('owners/', agency_views.OwnersListView, name='owners'),
    path('owners/create_owner/', CreateOwnerView.as_view(), name='create_owner'),
    path('owners/<owner_id>/', agency_views.OwnerDetailView, name='owner_detail'),
    path('properties/', agency_views.PropertyListView, name='properties'),
    path('properties/<property_id>/', agency_views.PropertyDetailView, name='property_detail'),
    path('properties/create_property/', agency_views.CreatePropertyView, name='create_property'),
    path('properties/create_unit/', agency_views.CreateUnitView, name='create_unit'),
    path('tenants/', TenantListView.as_view(), name='tenants'),
    path('tenants/create_tenant/', CreateTenantView.as_view(), name='create_tenant'),
    path('realtors/', RealtorsListView.as_view(), name='realtors'),
    path('realtors/create_realtor/', RealtorCreateView.as_view(), name='create_realtor'),
]
使用

path('properties/',agency_views.PropertyDetailView,name='property_detail'),
这样看起来像
properties/abc/
的路径就不会被路由到
propertydeailview

通常,您应该始终在没有尖括号的类似路径之后列出带尖括号的路径,因为Django选择第一个匹配的路由规则。

使用

path('properties/',agency_views.PropertyDetailView,name='property_detail'),
这样看起来像
properties/abc/
的路径就不会被路由到
propertydeailview


一般来说,您应该总是在没有尖括号的类似路径之后列出带尖括号的路径,因为Django选择第一个匹配的路由规则。

我想您应该调用URL。。。properties/create\u property/,它被上面的行捕获,并且“create\u property”用作

我认为您应该将其声明为int:

 ../<int:property_id>/
//
path('properties/',agency_views.PropertyDetailView,name='property_detail'),
路径('properties/create_property/',agency_views.CreatePropertyView,name='create_property'),

我想你应该给URL打个电话。。。properties/create\u property/,它被上面的行捕获,并且“create\u property”用作

我认为您应该将其声明为int:

 ../<int:property_id>/
//
path('properties/',agency_views.PropertyDetailView,name='property_detail'),
路径('properties/create_property/',agency_views.CreatePropertyView,name='create_property'),

很高兴听到这个消息。请通过按下向上/向下投票按钮下的复选标记接受我的回答,向站点和社区发出信号,表示您的问题已得到回答!很高兴听到这个消息。请通过按下向上/向下投票按钮下的复选标记接受我的回答,向站点和社区发出信号,表示您的问题已得到回答!
path('properties/<int:property_id>/', agency_views.PropertyDetailView, name='property_detail'),
 ../<int:property_id>/
path('properties/<property_id>/', agency_views.PropertyDetailView, name='property_detail'),
    path('properties/create_property/', agency_views.CreatePropertyView, name='create_property'),